开发者社区> 问答> 正文

我想对redis中的hash中的某一个field赋值 同时 还希望这个field 能设置#云原生后端

我想对redis中的hash中的某一个field赋值 同时 还希望这个field 能设置 超时时间(set exipire这种) 到了一定时间 在自动消失 之所以放到hash中 是为了方便 遍历 因为keys * 和 scan 等操作 都需要对整个redis 的db进行过滤和查找 但是统一的放在一个 hash散列表 再进行遍历 反而范围缩小很多 对redis性能损失较小. 但是hash里面的这个field对应的value值各种各样 用字符串 拼接 分割符号 再拼接上 时间戳(类似于redis的惰性删除,在查询到这个值的时候进行过滤)又有点不合时,因为取出的值可能因为原值本身就包含这种分割符号 所以有什么好办法吗#云原生后端

展开
收起
黄一刀 2020-04-28 17:35:42 969 0
1 条回答
写回答
取消 提交回答
  • 你可以在向hash set 的时候,同时设置一个key key值为hash的key+field,给这个加上过期时间,遍历hash的时候,通过这个key来判断过期

    2020-04-28 17:37:00
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Redis集群演化的心路历程——从2.x到3.0时代 立即下载
微博的Redis定制之路 立即下载
云数据库Redis版的开源之路 立即下载