开发者社区> 问答> 正文

怎么删除redis的hash结构中第一个域?

例如:

user:1 name "zhangsan"
user:1 num "001"

user:2 name "lisi"
user:2 num "002"

user:3 name "wang"
user:3 num "003"

在不指定user:1的情况下删除第一条域user:1。
其实需求类似list中的lpop,但是还是现在需要hash这种数据结构来记录id。

展开
收起
爵霸 2016-03-09 10:13:32 2369 0
1 条回答
写回答
取消 提交回答
  • hash结构是没有顺序的,所以第一条是什么都不知道,何来的删除第一条,你所认为的第一条只是你插入的顺序中的第一条,但是很抱歉hash并不按你的插入顺序进行排序,所以你就算遍历hash也未必能够得到你想要的结果。
    如果希望遍历顺序保持与插入顺序一致,可使用list。
    你的需求可以通过两个结构来实现,一个list用于维护集合顺序,另一个hash用于保存k-v数据,删除时从list中pop出一个数据,然后到hash中根据key进行删除即可。

    2019-07-17 18:55:28
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
ApsaraDB for Redis——与创客同行 立即下载
微博的Redis定制之路 立即下载
云数据库Redis版的开源之路 立即下载