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