Как я могу обновить поле HKEYS, если есть eixists в redis с использованием Ruby on Rails - PullRequest
1 голос
/ 12 июня 2019

Я использую ruby ​​2.5.1. Я сохранил ключи в Redis, используя HKEYS , и отфильтровал ключи, используя HSCAN . Мне нужно изменить HKEYS, если ключ уже существует.

Как мне обновить поле HKEYS, если оно существует в redis с использованием Ruby on Rails?

1 Ответ

1 голос
/ 12 июня 2019

вы можете сделать это, используя код 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 

кажется неэффективным, но работает

...