2020年3月24日redis面试题记录 Redis五种数据类型及应用场景

---------------Redis五种数据类型及应用场景---------------------------------

String: 一般做一些复杂的计数功能的缓存
List: 做简单的消息队列的功能
Hash: 单点登录
Set: 做全局去重的功能
SortedSet: 做排行榜应用,取TopN操作;延时任务;做范围查找

 ------------------------------------redis分布式锁---------redis分布式事务----------------------------------------

https://blog.csdn.net/chanllenge/article/details/102983597?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

什么事分布式事务:

多个服务同时修改记录时,保证数据的一致性.

分布式思路:

  1. 通过在redis设置一个唯一锁,如果存在key,则认为有其他客户端在使用,等待锁释放。
  2. 如果不存在key,说明没有客户端使用,可以执行任务,执行完毕,解锁,删除key.
  3. 存在的问题1 :

    获得锁后,服务宕机,由于key是唯一的,所以无法被删除.

    问题1解决方案

    设置过期时间。

    存在的问题2

    任务执行过长,超过过期时间。

    问题2解决方案

    通过一个守护线程,给线程续命.

    存在的问题3:

    任务执行造成死循环,会造成无限续命.

    问题3解决方案 :

    设置最大续命时间。

猜你喜欢

转载自www.cnblogs.com/weigy/p/12560455.html