(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常见功能分析的主要内容,如果未能解决你的问题,请参考以下文章