我正在使用 ruby 2.5.1。我确实使用 HKEYS 将 key 存储在 redis 中并使用 HSCAN 过滤键.如果 key 已经存在,我需要修改 HKEYS。
如果使用 Ruby on Rails 的 redis 中存在 HKEYS 字段,我如何更新?
最佳答案
您可以使用 ruby 代码来完成,但不要认为使用 HKEYS 是个好主意
require 'redis'
redis = Redis.new
redis.hset('hash_name', 'key' , 'new_value')if redis.hexists('hash_name','key')
或使用扫描
curser , result = redis.hscan 'hash_name'
k,val = result.find{ |arr| arr.first == 'k'}
redis.hset('hash_name', 'key' , 'new_value') if k
# you will need to loop until curser be 0
看似低效但有效
关于ruby-on-rails - 如果使用 Ruby on Rails 在 redis 中存在,我如何更新 HKEYS 字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56555170/