redis的三种集群方式

Redis 有三种集群方式:主从复制、哨兵模式和 Cluster 集群。 主从复制(Master-Slave) 原理 Slave 连接 Master,发送 SYNC 命令 Master 执行 BGSAVE 生成 RDB 快照,同时记录写命令到缓冲区 Master 将快照发给 Slave,Slave 载入快照 Master 将缓冲区中的写命令发给 Slave 执行 之后 Master 每执行一条写命令就同步给 Slave 优缺点 优点:支持读写分离,分担 Master 读压力,非阻塞同步 缺点:不具备自动故障转移;主从数据可能不一致;不支持在线扩容 Demo cd /usr/local/redis && mkdir m-s-model && cd m-s-model cp ../etc/redis.conf ./master.conf cp ../etc/redis.conf ./slave.conf # master.conf: port 6380 # slave.conf: port 6381 / slaveof 127.0.0.1 6380 redis-server ./master.conf redis-server ./slave.conf redis-cli -p 6380 info replication 哨兵模式(Sentinel) 在主从基础上增加自动故障转移。哨兵持续监控 Master/Slave,Master 宕机后自动将某个 Slave 升为新 Master。 ...

2018-07-16 · 2 分钟 · 235 字 · 王站站

Redis常用命令

通用命令 ping # 测试连接 keys * # 查看所有 key exists <key> # 判断 key 是否存在 expire <key> <seconds> # 设置过期时间 ttl <key> # 查看剩余过期时间 del <key> # 删除 key flushdb # 清空当前数据库 flushall # 清空所有数据库 String set key value get key append key "hello" strlen key incr key # 自增 1 decr key # 自减 1 incrby key 10 # 自增指定值 decrby key 10 # 自减指定值 getrange key 0 -1 # 截取字符串(-1 表示末尾) setrange key 1 xx # 从指定位置替换 setex key seconds val # 设置值并指定过期时间 setnx key value # key 不存在时才设置 mset k1 v1 k2 v2 # 批量设置 mget k1 k2 # 批量获取 getset key newval # 设置新值并返回旧值 List lpush list v1 v2 # 左侧插入 rpush list v1 v2 # 右侧插入 lrange list 0 -1 # 获取范围元素 lpop list # 左侧弹出 rpop list # 右侧弹出 lindex list 0 # 按下标取值 llen list # 列表长度 lrem list 1 v1 # 删除指定数量的元素 ltrim list 1 3 # 只保留指定范围 rpoplpush src dst # 从 src 右端弹出并推入 dst 左端 lset list 0 item # 按下标设置值 linsert list before/after pivot val # 在 pivot 前/后插入 消息队列:lpush + rpop;栈:lpush + lpop ...

2018-07-09 · 2 分钟 · 309 字 · 王站站

Redis安装

官网 编译安装 wget https://download.redis.io/releases/redis-6.0.9.tar.gz tar xzf redis-6.0.9.tar.gz mv redis-6.0.9 /usr/local/redis cd /usr/local/redis make 配置开机自启 vim /usr/local/redis/redis.conf # 设置 daemonize yes mkdir /etc/redis cp /usr/local/redis/redis.conf /etc/redis/6379.conf cp /usr/local/redis/utils/redis_init_script /etc/init.d/redis 编辑 /etc/init.d/redis,确认以下路径正确: REDISPORT=6379 EXEC=/usr/local/redis/bin/redis-server CLIEXEC=/usr/local/redis/bin/redis-cli PIDFILE=/var/run/redis_${REDISPORT}.pid CONF=/etc/redis/${REDISPORT}.conf service redis start chkconfig redis on # 开机启动

2018-07-02 · 1 分钟 · 43 字 · 王站站