Redis是一个开源的,先进的key-value存储并用于构建高性能,可扩展Web应用程序的解决方案。它支持字符串、哈希表、列表、集合、有序集合,位图,hyperloglogs等数据类型。
安装
下载Redis
wget http://download.redis.io/releases/redis-3.2.6.tar.gz
解压Redis
tar zxf redis-3.2.6.tar.gz
编译Redis
make
环境配置
创建主从机目录
mkdir redis_cluster
master配置设置
cp -aRp redis-3.2.6/redis.conf redis_cluster/master_6379/ cp -aRp redis-3.2.6/sentinel.conf redis_cluster/master_6379/6379-sentinel.conf
master配置参数修改
vi redis_cluster/master_6379/redis.conf vi redis_cluster/master_6379/6379-sentinel.conf
slave配置设置
vi redis_cluster/slave_6479/redis.conf
vi redis_cluster/slave_6479/6479-sentinel.conf
cp -aRp redis-3.2.6/redis.conf redis_cluster/slave_6479/ cp -aRp redis-3.2.6/sentinel.conf redis_cluster/slave_6479/6479-sentinel.conf cp -aRp redis-3.2.6/redis.conf redis_cluster/slave_6579/ cp -aRp redis-3.2.6/sentinel.conf redis_cluster/slave_6579/6579-sentinel.conf
vi redis_cluster/slave_6579/redis.conf
vi redis_cluster/slave_6579/6579-sentinel.conf
启动master和master-sentinel:
cd redis-3.2.6/src/ ./redis-server --include /home/wenqy/redis_cluster/master_6379/redis.conf ./redis-sentinel /home/wenqy/redis_cluster/master_6379/6379-sentinel.conf
克隆会话,启动slave1和slave1-sentinel:
./redis-server --include /home/wenqy/redis_cluster/slave_6479/redis.conf ./redis-sentinel /home/wenqy/redis_cluster/slave_6479/6479-sentinel.conf
克隆会话,启动slave2和slave2-sentinel:
./redis-server --include /home/wenqy/redis_cluster/slave_6579/redis.conf ./redis-sentinel /home/wenqy/redis_cluster/slave_6579/6579-sentinel.conf
查看master的状态:
./redis-cli -h 127.0.0.1 -p 6379
查看slave的状态:
./redis-cli -h 127.0.0.1 -p 6479
灾难测试
slave 宕机
关闭6479从机,模拟宕机
slave 恢复
再次启动6479从机,模拟恢复
master 宕机
关闭6379主机,模拟宕机
master 恢复
再次启动6379模拟恢复,此时6379成为从机,6479已经在6379宕机时,被选举为主机。
客户端测试
进入6479机
./redis-cli -h 127.0.0.1 -p 6479
添加“wenqy”键值对
set "wenqy" "wenqy"
Redis作为键值型的非关系型数据库,可以应用于内存缓存等地方。
参考
http://www.redis.net.cn/tutorial/3501.html
http://www.redis.net.cn/tutorial/3501.html
2 人论剑于 “Redis单机版集群”