首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在redis中排成一行散列?

如何在redis中排成一行散列?
EN

Stack Overflow用户
提问于 2017-09-28 08:05:58
回答 1查看 930关注 0票数 1

为了在redis中使用LPUSHLTRIM创建队列,我在python中这样做:

代码语言:javascript
复制
if not str(key) in r.lrange('myq', 0 , -1):
    r.lpush("myq" , key)
    r.ltrim("myq" , 0, MYQ_LENGTH)

但是如何将键:值对存储在redis队列中呢?

假设KeysValues可以是任何字符串(因此不能使用:拆分),那么最好的推送方式是什么?

代码语言:javascript
复制
Key1:Val1
Key2:Val2
Key3:Val3
Key4:Val4

进入队列4项,当第5对被推入队列时,它会弹出Key1:VAl1

EN

回答 1

Stack Overflow用户

发布于 2017-09-28 16:33:47

您可以使用类似于MessagePack或JSON的内容对字符串进行编码,并将其推入列表中。在pop上,在客户机中执行匹配的解码(或者编写一个用于服务器端的Lua脚本)。

伪代码示例:

代码语言:javascript
复制
r.lpush("myq", "{\"key1\":\"val1\"}")
...
ele = r.lpop("myq")
hash = JSON.decode(ele)
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46464026

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档