0

如何根据 Redis 中的时间或字典中按时间顺序排列的键获取键列表,即:

get foo
{"time":'Thu Aug 15 22:37:37 2013', "data":"etc"}

而且我的"time"每一个 Redis 条目中都有密钥。如何获取基于该时间排序的列表,或者更好的是,创建密钥的时间?

4

1 回答 1

1

Redis 是一个密钥库,并不打算按照您的尝试进行操作。“时间”键与 redis 无关,因为这只是存储在 Redis 字符串中的 JSON 字符串(如果我理解正确的话)。基本上,Redis 不关心字符串中的内容,如果是,它也可能是一个完整的 SQL DB。

如果您绝对必须使用时间,则可以将其包含在键名中。例如,您想在 8 月获取所有密钥:

redis 127.0.0.1:6379> MSET foo_20130815223737 "{\"time\":'Thu Aug 15 22:37:37 2013', \"data\":\"etc\"}"  foo_20130816123015 "{\"time\":'Thu Aug 16 12:30:15 2013', \"data\":\"etc\"}"
OK
redis 127.0.0.1:6379> KEYS foo_201308*
1) "foo_20130815223737"
2) "foo_20130816123015"

如果你描述你为什么要这样做,我可能有更好的选择。例如,使用 Redis 作为消息队列的 Pub/Sub 可能更符合您的意图。

于 2013-08-15T16:47:07.897 回答