1.Redis 的操作为什么是的原子性的?
因为redis是单线程的!Redis的API是原子性的操作
2.Redis + Lua 形式为什么是原子性的?
Redis从2.6.0版本开始提供了eval命令,通过内置的Lua解释器,可以让用户执行一段Lua脚本并返回数据。因为Redis单线程模型的特点,可以保证多个命令的原子性; Redis的API是原子性的操作 eval是redis的一个Api
3.Redis集群+Lua 有什么要注意的地方
Redis cluster对多key操作有限,要求命令中所有的key都属于一个slot,才可以被执行 如何将key放到同一个slot中呢: 你需要将把key中的一部分使用{}包起来,redis将通过{}中间的内容作为计算slot的key,类似key1{mykey}、key2{mykey}这样的都会存放到同一个slot中
Redis集群+Lua注意事项
4.Redis 事务、lua、管道使用场景
redis中的事务、lua脚本和管道的使用场景