Redis单机版集群

Redis是一个开源的,先进的key-value存储并用于构建高性能,可扩展Web应用程序的解决方案。它支持字符串哈希表列表集合有序集合位图hyperloglogs等数据类型。

安装

下载Redis

wget http://download.redis.io/releases/redis-3.2.6.tar.gz

wget_redis

解压Redis

tar zxf redis-3.2.6.tar.gz

tar_zxf_redis.png

编译Redis

make

make_red

环境配置

创建主从机目录

mkdir redis_cluster

mkdir_r

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

cp_master

master配置参数修改

vi redis_cluster/master_6379/redis.conf
vi redis_cluster/master_6379/6379-sentinel.conf

slave配置设置

vi redis_cluster/slave_6479/redis.conf

slaveof

vi redis_cluster/slave_6479/6479-sentinel.conf

6479-sentinel

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

slaveof_confi

vi redis_cluster/slave_6579/redis.conf

slave_6579

vi redis_cluster/slave_6579/6579-sentinel.conf

6579-sentinel

启动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-sentinel

查看master的状态:

./redis-cli -h 127.0.0.1 -p 6379

redis-cli

查看slave的状态:

./redis-cli -h 127.0.0.1 -p 6479

redis-cli_slave

灾难测试

slave 宕机

关闭6479从机,模拟宕机

slave_redis_down

slave 恢复

再次启动6479从机,模拟恢复

slave_redis_reboot

master 宕机

关闭6379主机,模拟宕机

master_redis_down

master 恢复

再次启动6379模拟恢复,此时6379成为从机,6479已经在6379宕机时,被选举为主机。

master_redis_reboot.png

客户端测试

进入6479机

./redis-cli -h 127.0.0.1 -p 6479

添加“wenqy”键值对

set "wenqy" "wenqy"

redis-cli_setget

Redis作为键值型的非关系型数据库,可以应用于内存缓存等地方。

参考

http://www.redis.net.cn/tutorial/3501.html

http://www.redis.net.cn/tutorial/3501.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注

5 + 19 = ?