redis分布式存储理论
redis分片
hash取模有一个天生的弊端
取模的数字必须是固定的,影响分布式集群的扩展性
一致性hash算法 映射算法
没有取模的过程
主机节点和保存到主机上的数据都需要参与hash计算
hash取模只有数据参与了hash计算
首先需要给每台主机设备定义一个唯一的ID号用来参与hash运算
新增主机节点不需要把全部数据重新规划
redis集群槽位原理分析
无主模型
槽位增加也是需要数据迁移的,只不过迁移的数据的规模比一致性哈希的规模要小很多
采用的是预分区的机制
原来取模是按照主机节点数量取模,现在按照一个比较大的数字取模
槽位如何支持事务
hash tag
redis缓存问题
缓存击穿
某个key过期后 客户端访问造成访问数据库负载瞬间增大
缓存穿透
查询的是数据库不存在的数据,客户端请求转到数据库做很多无效的空查询
使用布隆过滤器
缓存雪崩
大量的key同时失效