标签:
Redis是一个开源,先进的key-value存储,并用于构建高性能,可扩展的Web应用程序的完美解决方案。
Redis从它的许多竞争继承来的三个主要特点:
Redis数据库完全在内存中,使用磁盘仅用于持久性。
相比许多键值数据存储,Redis拥有一套较为丰富的数据类型。
Redis可以将数据复制到任意数量的从服务器。
异常快速:Redis的速度非常快,每秒能执行约11万集合,每秒约81000+条记录。
支持丰富的数据类型:Redis支持最大多数开发人员已经知道像列表,集合,有序集合,散列数据类型。这使得它非常容易解决各种各样的问题,因为我们知道哪些问题是可以处理通过它的数据类型更好。
操作都是原子性:所有Redis操作是原子的,这保证了如果两个客户端同时访问的Redis服务器将获得更新后的值。
多功能实用工具:Redis是一个多实用的工具,可以在多个用例如缓存,消息,队列使用(Redis原生支持发布/订阅),任何短暂的数据,应用程序,如Web应用程序会话,网页命中计数等。
在redis官网下载最新的源码包
http://download.redis.io/releases/redis-2.8.3.tar.gz
# tar xzf redis-3.0.0.tar.gz
# mv redis-3.0.0 /usr/local/redis
# cd /usr/local/redis
# make && make install
# echo $?
# redis-server
第一次启动时可能会有提示的warning信息;可以忽略,但最好是按照提示的处理办法修改。
# redis-cli
# redis> set iom dtsoft
OK
# redis> get iom
“dtsoft”
# vim redis.conf
daemonize yes –进程后台启动
logfile /usr/local/redis/redis.log –日志文件
syslog-enabled no –日志不写进系统日志
dir /usr/local/redis/data –数据文件存放
requirepass system –认证密码
# vim redis.conf
daemonize yes
logfile /usr/local/redis/redis.log
syslog-enabled no
dir /usr/local/redis/data
slaveof 192.168.10.5 6379 –主服务器的IP地址和端口
masterauth system –主服务器上的认证密码
# cd /usr/local/redis/src/
# ./redis-server ../redis.conf –后面的配置文件一定要加上
# cd /usr/local/redis/src/
# ./redis-server ../redis.conf –后面的配置文件一定要加上
分别在主从机上执行,查看两机相连端口是否是ESTABLISHED状态。
# netstat -antp | grep 6379
主机节点:
# ./redis-cli
127.0.0.1:6379> set iom 123456
(error) NOAUTH Authentication required. –需要认证权限
127.0.0.1:6379> auth system
OK
127.0.0.1:6379> set iom 123456
OK
127.0.0.1:6379> get iom
“123456”
从机节点:
# ./redis-cli
127.0.0.1:6379> get iom –在从服务器不需要认证权限
“123456”
编辑/etc/keepalived/keepalived.cnf文件
global_defs {
router_id LVS_MASTER #BACKUP上修改为LVS_BACKUP
}
vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.10.252 #redis
}
}
virtual_server 192.168.10.252 6379 {
delay_loop 6
lb_algo rr
lb_kind DR
#lb_kind NAT
# persistence_timeout 3
protocol TCP
real_server 192.168.10.3 6379 {
weight 3
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
connect_port 6379
}
}
real_server 192.168.10.5 6379 {
weight 3
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
connect_port 6379
}
}
}
重启keepalived服务
# service keepalived restart
编写执行脚本
#vi lvs_real
执行脚本
# /lvs_real start
VIP/路由机:192.168.10.252
redis主:192.168.10.3
redis备:192.168.10.4
客户机:192.168.10.1
客户机运行redis客户端:
# redis-cli –h 192.168.10.252 –p 6379
redis:6379> auth system –第一次需要输入密码
OK
redis:6379> get iom
“123456”
关掉redis主机
客户机运行redis客户端
redis:6379> get iom
“123456” –仍能得到iom值
启动redis主机
客户机重启redis客户端
# redis-cli –h 192.168.10.252 –p 6379
路由机运行lvs监控命令。
# watch ipvsadm –lc
可以看到destination显示的是主节点IP。
每次客户机重启redis客户端,destination显示IP在主备节点替换(lvs路由配置为轮询,即lb_algo rr
)。
标签:
原文地址:http://www.cnblogs.com/grimm/p/5771046.html