【软考达人-回忆版】
ZCARD 用于获取指定zset的元素个数
ZCOUNT 用于返回分数在min和max之间的元素个数
ZRANK 用于返回指定元素的下标,升序
ZREVRANK 用于返回指定元素的下标,降序
ZSCORE 用于查询指定元素的分数
基于数据库的分布式锁
基于数据库最简单的方式就是直接创建一张锁表,然后通过操作该表中的数据来实现。当我们想要获得锁的时候,就可以在该表中增加一条记录,想要释放锁的时候就删除这条记录。
优点:简单,易实现
缺点:锁需要清理、可靠性依赖于数据库、非阻塞、非可重入
基于redis的分布式锁
通过执行setnx,若成功再执行expire添加过期时间的方式加锁,解锁则执行delete命令。
优点:容错性好,性能好
缺点:可能存在死锁问题、获得者崩溃不释放问题等