12 lines
349 B
Ruby
12 lines
349 B
Ruby
|
|
module RedisScanning
|
||
|
|
def scan_set_in_batches(redis, key, batch_size:, &block)
|
||
|
|
redis.sscan_each(key, count: batch_size).each_slice(batch_size, &block)
|
||
|
|
end
|
||
|
|
|
||
|
|
def scan_hash_in_batches(redis, key, batch_size:, &block)
|
||
|
|
redis.hscan_each(key, count: batch_size).each_slice(batch_size) do |batch|
|
||
|
|
block.call(batch.to_h)
|
||
|
|
end
|
||
|
|
end
|
||
|
|
end
|