redis单节点
key都在同一个节点上;
redis集群
key经过算法后,会分布在不同的节点上;
lua脚本限制
执行脚本中涉及到的key要在同一个节点上;
解决方案
在key中使用‘{}’,redis计算key要保存到那个节点上时,是根据‘{}’它里面的值来计算的,只要这里面的值是相同的,就会保存到相同的节点上;
注意:保存的key也会带上‘{}’;
例如
{key}abcd、 {key}1234、abcd{key}1234
集群命令
计算key会保存到的slot;
cluster keyslot {key}abcd
cluster keyslot {key}1234
cluster keyslot abcd{key}1234
查看各节点slot的分配情况;
cluster nodes
通过以上2步,可以验证出使用‘{}’,是否正确;
如有错误,欢迎指出;