搜索 Redis 数据库

Jer*_*oen 5 select condition redis

想象一下在 Redis 数据库中有一堆散列,每个散列代表一个用户对象。例如,您将如何让用户获得最低注册日期?位置ts_registered最低的用户。我在 redis.io命令页面上搜索了一些,但似乎没有在那里找到它的命令。

我对Redis没有太多经验,我基本上只是在检查它是如何工作的。

Ita*_*ber 5

Redis 并不是开箱即用的,具有在哈希中搜索/索引的能力,但它为您提供了完成任务所需的所有工具。例如,您的挑战可以通过在数据库中保留一个名为 last_user_registered 或类似名称的密钥来解决,并在用户每次注册到该用户的 ID 时设置它。当您想获取在任何给定时刻注册的最后一个用户时 - 只需获取它,获取它?

但是您(和 Redis!)可以做得更好:例如,您可以使用 Redis 列表和 LPUSH/RPOP 成员来与上次加入的用户保持分数。或者,您可以使用一个排序集,其中每个成员都是用户 ID,分数是时间戳……啊,可能性是无穷无尽的,您只受想象力的限制(以及时间、资源等……) ;)

我认为这正是 Redis '爱好者' 亲切地将其称为数据库构建工具而不仅仅是一个数据库的原因 - 你实际上可以让它做任何你想做的事情,如果你想要的东西已经不在 Redis 中,那么总会有Lua您可以使用它来扩展甚至开发自己的 fork 并向github提交拉取请求。