redis-cluster 把所有的物理节点(redis master)映射到(0-16383)slot 上, cluster负责维护节点node,每个节点都会有一定范围的slot。比如node1 0-5000,node2 5001-10000,node3 100000-16383 。
node <---> slot <---> value
CRC16算法: 因为每次都会先把key 做 crc,所以客户端可以连接任意集群中master节点,起到内存总量和请求数提高
1,对集群模式下的所有key进行crc16计算,计算的结果始终在0-16383之间
2,对客户端的key进行crc16计算时,同一个key多次经过crc16计算结果始终一致
3,对客户端的不同key进行crc16计算,计算的结果会出现 不同的key 结果可能一致。 比如key name 和 cc 经过crc后可能结果相同。
shellcd /usr/local/src/ wget http://download.redis.io/releases/redis-6.2.6.tar.gz tar zxvf redis-6.2.6.tar.gz yum install -y gcc automake make cd redis-6.2.6 && make && make install cp ./src/redis-server /usr/bin/ cp ./src/redis-cli /usr/bin/ 若 cp ./src/redis-cli /usr/bin/ 出现如下错误: cp: not writing through dangling symlink ‘/usr/bin/redis-cli’ 这个错误表示目标 /usr/bin/redis-cli 已经存在并且是一个悬空的符号链接(即指向一个不存在的文件)。这可能是由于之前的安装或配置过程中创建了一个错误的符号链接。 要解决这个问题,您可以先删除旧的符号链接,然后重新执行复制命令。请执行以下命令: sudo rm /usr/bin/redis-cli sudo cp ./src/redis-cli /usr/bin/ 这将删除悬空的符号链接并将 redis-cli 复制到 /usr/bin/ 目录下现在,您应该能够在任何位置使用 redis-cli 命令了。
shellcp ./utils/redis_init_script /etc/init.d/redisd service redisd start
C:\shixun\Redis-x64-5.0.14.1
shellrequirepass 123456
A. 安装指令:
shellredis-server.exe --service-install redis.windows.conf
B. 卸载指令:
shellredis-server.exe --service-uninstall
RedisSyncer是京东云自研的redis多任务同步中间件工具集,应用于redis单实例及集群同步。该工具集包括:
redis 同步服务引擎 redissyncer-server redissycner 客户端 redissyncer-cli redis 数据校验工具 redissycner-compare 基于docker-compse的一体化部署方案 redissyncer 目前在github开源:
urlhttps://github.com/TraceNature/redissyncer-server
缓存同步的定义及必要性
双向同步的操作难度与冷启动问题