批处理优化
一,Pipline
1.1 为什么要优化批处理
单个命令的执行流程:

N条命令依次执行流程:

N条命令批量执行:

1.2 Pipeline介绍


Pipeline的多个命令之间不具备原子性
二,集群下的批处理
如MSET或者Pipeline这样的批处理需要在一次请求中携带多条命令,而此时如果Redis是一个集群,那批处理命令的多个key必须落在同一个插槽中,否则就会执行失败。
解决办法:

hash_tag就是key的有效部分,例如:name那么tag就是根据name计算,{a}name那么就是根据a来计算
这个就叫hash_tag
我们StringRedisTemplate.opsForValue().multiSet(map)底层会采用第三种,并行slot方式实现的。
类似的,获取也可以multiGet

浙公网安备 33010602011771号