一般而言,Redis的ZSet提供了丰富的功能,可以形成诸多应用。
在Redis中,提供了如下诸多功能。
- ZADD
- ZREM
- ZCARD
- ZCOUNT
- ZSCORE
- ZINCRBY
- ZRANGE
- ZREVRANGE
- ZRANGEBYSCORE
- ZREVRANGEBYSCORE
- ZRANK
- ZREVRANK
- ZREMRANGEBYRANK
- ZREMRANGEBYSCORE
- ZINTERSTORE
- ZUNIONSTORE
然而,目前并没有提供判断ZSet中某个键是否存在指定成员的函数,这个目前在网上看到都要自己写相应的代码。而这个工作发现了有个巧妙和替代方法。即采用zrank的方法来判断是否存在。该函数接口的定义如下:
- ZRANK key member
返回有序集key中成员member的排名。其中有序集成员按score值递增(从小到大)顺序排列。
排名以0为底,也就是说,score值最小的成员排名为0。
使用ZREVRANK命令可以获得成员按score值递减(从大到小)排列的排名。
可以考虑,当这个排名不存在的情况下,即成员不存在。测试如下:
利用程序进行设计,结果如下: