From 485f0a1f83855e508143d43e7f96ae747f5ef20c Mon Sep 17 00:00:00 2001 From: Megvii Engine Team Date: Thu, 10 Nov 2022 16:59:20 +0800 Subject: [PATCH] fix(imperative): fix redis fastrun cache server GitOrigin-RevId: 252a0afdc39db4c9d4bede26b9956fcac83cb59a --- imperative/src/impl/persistent_cache.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/imperative/src/impl/persistent_cache.cpp b/imperative/src/impl/persistent_cache.cpp index 63b4ab4c..30e965fa 100644 --- a/imperative/src/impl/persistent_cache.cpp +++ b/imperative/src/impl/persistent_cache.cpp @@ -93,19 +93,20 @@ public: } std::optional clear() override { - size_t cursor = 0, nr_deleted = 0; - std::string pattern = m_prefix + "@*"; + long long cursor = 0; + size_t nr_deleted = 0; + std::string pattern = m_prefix + "*"; do { auto reply = m_client.scan(cursor, pattern).share(); sync(); auto keys = reply.get().as_array(); std::vector string_keys; - for (auto&& key : keys) { + for (auto&& key : keys[1].as_array()) { string_keys.push_back(key.as_string()); } m_client.del(string_keys); nr_deleted += string_keys.size(); - cursor = reply.get().as_array()[0].as_integer(); + cursor = std::stoll(keys[0].as_string()); } while (cursor != 0); return nr_deleted; }