1、Redis分布式锁是怎么实现的
2、Redis分布式锁会有什么问题
3、Redis有哪些操作时间复杂度不是O(1)?
Redis有一些操作的时间复杂度不是O(1),例如,删除List、Hash、Set或ZSet类型的key,其复杂度为O(N),N代表元素个数。这意味着如果要删除的key包含大量元素,那么该操作所需的时间将与元素数量成正比。
4、如何用Redis实现消息队列?
1、基于List的lpush(生产消息)和rpop(消费消息),利用先进先出的特性。这是将一个值推入列表的命令。例如,你可以使用LPUSH queue_name item将项目放入队列。
2、Streams:为了实现消息队列专门在redis5版本中定义的一种数据结构。
BRPOP/BLPOP/LPOP/RPOP: 这是从列表中删除并返回一个元素的命令。例如,你可以使用BRPOP queue_name timeout从队列取出一个项目。如果队列为空,这个命令将等待指定的超时时间。