Нашли родственное решение. Пожалуйста, go через эту ссылку . Использование ключей не рекомендуется, а также, если вы go просматриваете документацию, вы можете это увидеть. Хотя здесь дано представление, но это ради понимания более глубоких знаний, и ничего более. Лучше всего использовать Lua Script, который рекомендуется, а также производительность действительно хорошая. И если вы увидите комментарии, вы также узнаете о разнице, я думаю. Производительность для KEY, SCAN, Lua Сценарий:
- KEYS: самый быстрый метод
- SCAN: ~ в 1,5 раза медленнее
- SCAN с lua : ~ В 2,4 раза медленнее
- SCAN с lua и дополнительными проверками: ~ в 4,3 раза медленнее
- КЛЮЧИ с lua: ~ в 18 раз медленнее
Для мне было довольно сложно понять синтаксис Lua. Итак, вот код, помогающий понять синтаксис.
Сканирование без счета в Lua Сценарий:
local ans, has, cursor = {}, {}, "0";
repeat
local t = redis.call("SCAN", cursor, "MATCH", KEYS[1], "COUNT", 1000000000);
local list = t[2];
for i = 1, #list do
local s = list[i];
if has[s] == nil then has[s] = 1; ans[#ans + 1] = s; end;
end;
cursor = t[1];
until cursor == "0";
return #ans; --or return ans;