首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在redis列表中推送变量- redis命令行

如何在redis列表中推送变量- redis命令行
EN

Stack Overflow用户
提问于 2017-02-27 19:03:49
回答 2查看 1.3K关注 0票数 2

请检查以下命令:

代码语言:javascript
运行
复制
redis /tmp/redis.sock> set s1 String1
OK
redis /tmp/redis.sock> set s2 String2
OK
redis /tmp/redis.sock> set s3 String3
OK
redis /tmp/redis.sock> LPUSH list s1 s2 s3
(integer) 3
redis /tmp/redis.sock> LRANGE list 0 -1
1) "s3"
2) "s2"
3) "s1"
redis /tmp/redis.sock>

当我尝试推送redis列表中的变量时,该值被视为字符串。向列表中添加变量有什么解决方法吗?

谢谢。

EN

回答 2

Stack Overflow用户

发布于 2017-02-27 20:16:20

Redis列表中的元素是String。您不能嵌套数据结构或在它们之间创建引用。

票数 3
EN

Stack Overflow用户

发布于 2017-02-27 20:21:04

如果要使用变量,可以使用Lua脚本,

代码语言:javascript
运行
复制
eval "redis.call('lpush', 'list', KEYS[1], KEYS[2], KEYS[3])" 3 String1 String2 String4

参考this

代码语言:javascript
运行
复制
> eval "s1 = 'String1'" 0
> eval "s2 = 'String2'" 0
> eval "s3 = 'String3'" 0
> eval "redis.call('lpush', 'list', s1, s2, s3)" 0

Redis-cli可能不允许创建全局变量s1s2s3。要获得权限,请参阅此https://stackoverflow.com/a/19998708/6048928

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42484140

复制
相关文章

相似问题

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