0
A
回答
1
使用基本Redis的API你不能做到这一点。
我可以看到两个选项供您:
- 自己做以任何编程语言,你使用Redis的使用;
- 做一个lua script。
这是一个非常简单的LUA脚本例子,做你想要什么:
eval "return redis.call('get', redis.call('get', KEYS[1]))" 1 baz
NB:您只能使用此脚本使用独立Redis的安装,因为它的使用不是关键通过KEYS
阵列明确声明,因此它不是群集安全的(thanx到Itamar Haber的评论)。
1
虽然你不能用Redis Strings做到这一点,但如果你用所有的“keys”和“values”来代替hash,那么这是可行的。例如:
HSET miniredis foo bar
HSET miniredis baz foo
现在,取本品,你需要的Lua但由于一切都在一个单一的数据结构捆绑在一起,这将是集群安全(在可扩展性的代价)。
EVAL "return redis.call('HGET', KEYS[1], redis.call('HGET', KEYS[1], ARGV[1]))" 1 miniredis baz
当然,这只适用于总是存在单个解引用级别的情况。另一个特点是能够自我引用(例如,HSET miniredis minime minime
)。这些应该在需要时处理。
相关问题
- 1. 是否可以在redux中嵌套reducer?
- 2. 是否可以嵌套ko.utils.arrayFilter?
- 3. 是否可以嵌套preg_match?
- 4. 是否可以嵌套门套?
- 5. 是否可以嵌套索引匹配?
- 6. 是否可以嵌套JavaScript对象?
- 7. 是否可以嵌套清单?
- 8. 是否可以嵌套部分视图?
- 9. 是否可以嵌套数组json?
- 10. 是否可以绑定嵌套泛型?
- 11. 是否可以嵌套SQL表?
- 12. XHTML是否可以嵌套更多XHTML?
- 13. 在sequelize.js中,是否可以使用嵌套包含嵌套查询的结果?
- 14. 是否可以在SASS中的变量中嵌套变量?
- 15. CollectionViewSources是否可嵌套?
- 16. 是否可以在PigLatin中创建没有COGROUP的嵌套FOREACH?
- 17. 是否可以在Mandrill中使用嵌套合并标签?
- 18. 是否可以在java中调用回外部嵌套类?
- 19. 是否可以在ASP.NET MVC 2中嵌套区域?
- 20. if语句是否可以嵌套在while循环中?
- 21. 是否可以在DynamoDB中插入嵌套字段?
- 22. 是否可以在NSPredicate中使用嵌套的SUBQUERY?
- 23. 是否可以在媒体查询中嵌套媒体查询?
- 24. 是否可以在SSRS 2005中嵌套DataSets?
- 25. 是否可以在同一个事务中嵌套句子?
- 26. 是否可以在Android中嵌套资源数组?
- 27. 是否可以在Scala Ammonite shell中嵌套命令调用?
- 28. 是否可以在Wicket中嵌套相互独立的窗体?
- 29. 是否可以将一个VML嵌套在另一个VML中?
- 30. 是否可以在句柄模板中嵌套if/else语句?
>用lua脚本做 - 不要。您正在访问未通过'KEYS'数组明确声明的密钥,并且这不是群集安全的。 –
@ItamarHaber好点 –
;)添加一个基于Lua的答案,应该这样做 –