Ruby on rails 在Redis中使用特定模式获取密钥范围的最佳方法
我与Redis合作,但我需要从Redis获得钥匙的最佳方式 我需要按日期范围(2020-06-01至2020-06-20)搜索每个公司的id(id是唯一的) 钥匙示例Ruby on rails 在Redis中使用特定模式获取密钥范围的最佳方法,ruby-on-rails,ruby,redis,Ruby On Rails,Ruby,Redis,我与Redis合作,但我需要从Redis获得钥匙的最佳方式 我需要按日期范围(2020-06-01至2020-06-20)搜索每个公司的id(id是唯一的) 钥匙示例统计:公司:2:日期:2020-06-13 我想为了解决这个问题,我每天都会拿到钥匙,但如果需要200把钥匙的话 这需要很多次,在显示用户之前,我做了一些有价值的操作 我尝试使用scan和键 环境Ruby 2.7.0,Ruby on Rails 6.0.3Redis要节省往返Redis的时间,您可以使用mget一次提取多个密钥,如果
统计:公司:2:日期:2020-06-13
我想为了解决这个问题,我每天都会拿到钥匙,但如果需要200把钥匙的话
这需要很多次,在显示用户之前,我做了一些有价值的操作
我尝试使用scan
和键
环境
Ruby 2.7.0
,Ruby on Rails 6.0.3
Redis
要节省往返Redis的时间,您可以使用mget
一次提取多个密钥,如果只有大约200个密钥,您甚至可以在一次调用中提取:
需要“日期”
公司标识=[:a,:b,:c]
今天
#生成您的密钥:
keys=company|uids.map{cid}(1..20).map{day}.plant(1).map{cid,day}“stat:company:{cid}日期:{day-day}”
hash=keys.zip(redis.mget(*keys)).to_h