1、redis 是一个键值对存储数据的内存数据库;存储的数据基本单元可以看作是 字节流;值支持 字符串(Strings)、列表(Lists)、集合(Sets)、哈希(Hashes)、有序集合(Sorted Sets);
2、redis 存储构成 先分 页;在页里面 分块(防止内存碎片化);块是最小单元;需要根据存储数据的特点设置合适的块大小(如果数据都比较小,应该将块设置小一些);以保证内存充分利用;
3、当数据量很大,单个redis实例不能满足需时,需要多个redis 实例,此时存在 两次哈希的过程;第一个是定位到某个redis实例;第二次是在具体redis实例上取值;
第一次哈希 用到了 一致性哈希算法;以取余哈希为例,如果取余的基数为实例个数,那么某个实例故障,导致节点数量变化,哈希的映射关系将出现 大波动;
一致性哈希算法 保证 取余的基数不变(基数一般远大于实例数);节点数量变化时 哈希值不会变,这就保证了大部分节点不会改变映射关系;具体信息可百度。
时间: 2024-10-15 05:57:06