Spec-Zone.ru › Redis

CF.SCANDUMP

CF.SCANDUMP
Синтаксис
CF.SCANDUMP key iterator
Доступно в:
Redis Stack / Bloom 1.0.0
Временная сложность:
O(n), где n — ёмкость

Начинает инкрементальную сохранение куку-фильтра. Это полезно для больших куку-фильтров, которые не помещаются в обычную модель DUMP и RESTORE.

В первый раз при вызове этой команды значение iter должно быть 0. Эта команда возвращает последовательные пары (iter, data) до тех пор, пока (0, NULL) не укажет на завершение.

Параметры

  • ключ: Имя фильтра
  • итератор: Значение итератора. Это либо 0, либо итератор из предыдущего вызова этой команды

Возврат

Массивный ответ из целочисленного ответа (Итератор) и [] (Данные). Итератор передаётся в качестве входных данных для следующего вызова SCANDUMP. Если Итератор равен 0, то это означает, что итерация завершена.

Пара итератор-данные также должна быть передана в LOADCHUNK при восстановлении фильтра.

@exmaples

redis> CF.RESERVE cf 8
OK
redis> CF.ADD cf item1
(integer) 1
redis> CF.SCANDUMP cf 0
1) (integer) 1
2) "\x01\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x02\x00\x14\x00\x01\x008\x9a\xe0\xd8\xc3\x7f\x00\x00"
redis> CF.SCANDUMP cf 1
1) (integer) 9
2) "\x00\x00\x00\x00\a\x00\x00\x00"
redis> CF.SCANDUMP cf 9
1) (integer) 0
2) (nil)
redis> FLUSHALL
OK
redis> CF.LOADCHUNK cf 1 "\x01\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x02\x00\x14\x00\x01\x008\x9a\xe0\xd8\xc3\x7f\x00\x00"
OK
redis> CF.LOADCHUNK cf 9 "\x00\x00\x00\x00\a\x00\x00\x00"
OK
redis> CF.EXISTS cf item1
(integer) 1

код python:

chunks = []
iter = 0
while True:
    iter, data = CF.SCANDUMP(key, iter)
    if iter == 0:
        break
    else:
        chunks.append([iter, data])

# Load it back
for chunk in chunks:
    iter, data = chunk
    CF.LOADCHUNK(key, iter, data)

© 2006–2022 Salvatore Sanfilippo
Licensed under the Creative Commons Attribution-ShareAlike License 4.0.
https://redis.io/commands/cf.scandump/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API