前言
Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sortedset --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。
Redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部 分场合可以对关系数据库起到很好的补充作用。它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等客户端,使用很方便。
Redis支持主从同步。数据可以从主服务器向任意数量的从服务器上同步,从服务器可以是关联其他从服务器的主服务器。这使得Redis可执行单层树复制。存盘可以有意无意的对数据进行写操作。由于完全实现了发布/订阅机制,使得从数据库在任何地方同步树时,可订阅一个频道并接收主服务器完整的消息发布记录。同步对读取操作的可扩展性和数据冗余很有帮助。
一.系统环境
linux环境: CentOS release6.5 x86_64
软件: redis-3.0.0.tar.gz , gcc-c++
搭建的环境为: 1 主, 2 从, 主负责写, 从是只读
主:192.168.0.86
从1:192.168.0.232
从2:192.168.0.87
二.配置步骤
1.安装redis源码包
从官网下载,操作编译安装
该环境安装到/adson/redis/目录下,实际操作中,可根据实际需求定义;
安装编译工具gcc-c++
在主redis 192.168.0.86上操作
# yum -y install gcc-c++
# tar zxvf redis-3.0.0.tar.gz
# cd redis-3.0.0
# make
# make install PREFIX=/adson/redis
2.配置redis.conf文件
将/adson/redis-3.0.0/redis.conf 拷贝到 /adson/redis/bin/目录下
vim redis.conf
将注释打开,开启后台启动;
默认端口号:6379,可以更改
配置日志文件及级别
在/adson/redis/中创建logs目录,同时在目录中创建,redis.log 文件
为安全考虑配置连接redis密码
至此,redis主节点配置完成;
三.Redis启动测试
#/adson/redis/bin/redis-server /adson/redis/bin/redis.conf
# ps -ef|grep redis
root 4747 1 0 11:21 ? 00:00:00 /adson/redis/bin/redis-server*:6379
# /adson/redis/bin/redis-cli -a hGI891c
127.0.0.1:6379>set english_name adson1
OK
127.0.0.1:6379>
四.配置从节点
安装和上述步骤一样
需要注意点如下;
4.1指定主机和端口号
redis.conf 中需要指定 主redis的ip地址和端口号
这里是 192.168.0.86 ,端口号是 6379;
4.2查看从的redis状态
确认下从redis 的 ready-only 模式
4.3密码设置
如果主redis配置了密码,从redis 需要开启下列参数
需要更改为
2个从节点,都相同配置,如果没有设置登录密码,关于密码设置这些可以省略;
从节点启动
验证;
登陆从1节点:
# /adson/redis/bin/redis-cli -a hGI891c
127.0.0.1:6379> get english_name
"adson1"
127.0.0.1:6379>
登陆从2节点:
# /adson/redis/bin/redis-cli -a hGI891c
127.0.0.1:6379> get english_name
"adson1"