Redis中有序集(Sorted Set)判断某个键的成员存在的设计

时间:2024-04-07 18:34:57

一般而言,Redis的ZSet提供了丰富的功能,可以形成诸多应用。

在Redis中,提供了如下诸多功能。

有序集(Sorted Set)


然而,目前并没有提供判断ZSet中某个键是否存在指定成员的函数,这个目前在网上看到都要自己写相应的代码。而这个工作发现了有个巧妙和替代方法。即采用zrank的方法来判断是否存在。该函数接口的定义如下:

ZRANK key member

返回有序集key中成员member的排名。其中有序集成员按score值递增(从小到大)顺序排列。

排名以0为底,也就是说,score值最小的成员排名为0

使用ZREVRANK命令可以获得成员按score值递减(从大到小)排列的排名。


可以考虑,当这个排名不存在的情况下,即成员不存在。测试如下:

Redis中有序集(Sorted Set)判断某个键的成员存在的设计


利用程序进行设计,结果如下:

Redis中有序集(Sorted Set)判断某个键的成员存在的设计