如果使用Ruby on Rails在Redis中有eixists,如何更新HKEYS字段

时间:2019-06-12 05:25:36

标签: ruby-on-rails redis redis-cli

我正在使用ruby 2.5.1。我确实使用HKEYS将密钥存储在redis中,并使用HSCAN过滤了密钥。如果密钥已经存在,我需要修改HKEYS。

如果使用Ruby on Rails在redis中存在,如何更新HKEYS字段?

1 个答案:

答案 0 :(得分:1)

您可以使用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 

似乎效率低下,但可以正常工作