redis集群hashTag简述

概述

单体redis一般性能可以满足大部分场景的要求了,但是当业务体量起来的时候,就会要求高可用了。
此时一般会将单机redis扩充至集群,一般33

redis集群中master之间各自存储部分数据,masterslave之间数据则是相同的.

Redis会把每一个master节点映射到0~1638316384个插槽(hash slot)上,查看集群信息时就能看到.

数据key不是与节点绑定,而是与插槽绑定。redis会根据key的有效部分计算插槽值,分两种情况:

  1. key中包含{},且{}中至少包含1个字符{}中的部分是有效部分,即计算这个key放到哪个slot上是根据{xx}这部分内容去计算的.这里的{}中的内容就是hashTag
  2. key中不包含{},整个key都是有效部分,即直接根据key去计算放到哪个slot

demo
keyqqq,那么就根据qqq计算,如果是{xxx}qqq,则根据xxx计算。计算方式是利用CRC16算法得到一个hash值,然后对16384取余,得到的结果就是slot值。

捞张网图
redis集群hashTag简述_第1张图片

你可能感兴趣的:(redis,redis,数据库,缓存)