从redis获取最新的set/hash

Jay*_*Jay 5 python sorting hashset redis

我刚刚开始使用redis而且我已经通过noSql击中了我的第一个绊脚石; 以前我所知道的只是SQL服务器.

我理解一切都是基于价值的原则.但是如何使用排序,例如:

使用哈希集:

HMSET users:1 firstname 'james' lastname 'smith' created 'datetime.datatime.now'
Run Code Online (Sandbox Code Playgroud)

现在我假设您添加第二条记录,您将获得哈希集的长度(在这种情况下,我们将说它的1返回值x),然后添加另一行:

HMSET users:x firstname 'john' lastname 'smith' created 'datetime.datatime.now'
Run Code Online (Sandbox Code Playgroud)

你怎么会得到最新的纪录?按日期?或者你能说'在hashset的-1处获得记录'吗?

可能我建议在排序集更合适时使用hashset?

Nil*_*oct 4

您将需要检查SORT命令。

如果创建时间戳存储在纪元时间中,则可以按创建时间戳排序。

> HMSET users:1 firstname 'john' lastname 'smith' created 1319729878
"OK"
> HMSET users:2 firstname 'Jane' lastname 'Forbes' created 1319729910
"OK"
> sadd users 1
true
> sadd users 2
true
> sort users get users:*->firstname by users:*->created
["john","Jane"]
> sort users get users:*->firstname by users:*->created desc
["Jane","john"]
Run Code Online (Sandbox Code Playgroud)

如果需要,您可以获取多个密钥,SORT 可能是具有大多数选项的命令,请研究文档。

关于密钥,你必须仔细考虑可能的密钥重用(删除,计数+1,插入会重用密钥?),所以我只是从我的项目中的关系数据库中获取密钥。