(2)Redis常见功能分析

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(2)Redis常见功能分析相关的知识,希望对你有一定的参考价值。

参考技术A 原理:

Redission已提供支持,无需重复造轮子。(通过Lua脚本实现)

分布式锁需要考虑哪些问题。

Lua脚本是一种脚本语言,弱类型(灵活性较强)。在Redis中能够保证原子性。主要通过阻塞方式实现。(如果有一个客户端执行Lua脚本中,其他客户端的操作将会提示Redis Busy),如果Lua脚本不涉及事务操作(修改、新增、删除数据),那么其他客户端可以通过kill script 命令强制结束Lua脚本执行。如果涉及到事务,则只能重启(丢弃上次快照之后的数据缓存)。

Redis在用Lua脚本保证原子性的同时,也承担了额外的风险。因此使用Lua脚本时要注意,避免阻塞。另外Redis Config中也包含对Lua脚本超时时间的设置,可以根据实际情况灵活的配置使用。

Lua 脚本也可以压缩缓存,生成hash返回,后续使用Hash调用。

时间轮,主要用来管理延迟任务执行(kafka的实现也是基于时间轮)

以上是关于(2)Redis常见功能分析的主要内容,如果未能解决你的问题,请参考以下文章

Redis 专栏(使用介绍源码分析常见问题...)

10-Redis课上问题总结(2107)

redis实现高并发下的抢购/秒杀功能

springcloud源码分析之采用redis实现注册中心

Redis高可用架构设计以及常见问题分析

redis常见数据结构以及使用场景分析,手慢无