Redis环境搭建

Redis环境搭建

前置需求:要先安装GCC  yuminstall gcc-c++

1、下载redis-3.0.0-rc2.tar.gz,放到/usr/local/software

2、解压:tar -zxvf redis-3.0.0-rc2.tar.gz -C/usr/local

3、进入到解压目录下:cd usr/local/redis-3.0.0-rc2,编译:make

4、进入到src下进行安装:make install,并验证。验证方法:用ll查看src下的目录,有redis-server(Server脚本)和redis-cli(Client脚本)即可

5、建立俩文件夹存放redis命令和配置文件

mkdir -p/usr/local/redis/bin

mkdir -p/usr/local/redis/etc

6、把redis-3.0.0-rc2下的redis.conf复制到/usr/local/redis/etc下:

cp redis.conf/usr/local/redis/etc/

7、把redis-3.0.0-rc2/src里的mkreleasehdr.sh、redis-benchmark、redis-check-aof、redis-check-dump、redis-cli、redis-server文件移动到bin下

mv mkreleasehdr.shredis-benchmark redis-check-aof redis-check-dump redis-cli redis-server/usr/local/redis/bin

8、启动Redis服务并指定配置文件(建议以root用户身份启动):

./redis-server/usr/local/redis/etc/redis.conf

注意:要使用后台启动,所以修改redis.conf里的daemonize配置项,改为yes;同时修改dir配置(数据库文件存放路径):dir /usr/local/redis/etc/

9、验证启动是否成功:

用“ps -ef | grep redis”命令查看是否有redis服务

或者查看端口:netstat -tunpl | grep 6379

10、登录redis客户端

本地redis服务的登录方式:/usr/local/redis/bin/redis-cli

带参数登录:/usr/local/redis/bin/redis-cli -h 192.*.*.*-p 6379

退出客户端:quit

11、退出redis服务端:

/usr/local/redis/bin/redis-cli shutdown

Redis常用操作命令

Redis的五种基础数据类型:String、Hash、List、Set(无序)、ZSet(有序)

Redis持久化

Redis两种持久化机制:RDB、AOF,默认为RDB

RDB:在定期时间里面发起多少次操作,执行一次持久化操作,适用于测试

AOF:基于日志的持久化机制(Append Only Mode),适用于生产

通过修改redis.conf配置启用AOF机制:appendonly yes(yes表示开启AOF机制)

【其它】

可以用SSDB来做redis的持久化

Redis可以发布与订阅消息

Redis可以集成tomcat做Session共享

Redis主从复制

修改从节点的redis.conf配置,并重启Redis服务即可

需修改如下参数:

port<port-number>(每个节点的端口都要不同)

slaveof<master-ip> <master-port>

【其它】

Redis哨兵模式(sentinel)

Redis集群搭建

测试服务器主节点:10.10.0.120:6400

对应从节点:10.10.0.120:6401

主节点:10.10.0.111:6400

对应从节点:10.10.0.119:6401

主节点:10.10.0.119:6400

对应从节点:10.10.0.111:6401

Redis支持集群最小的单位为6个实例,3个主节点,3个从节点

集群搭建:至少要三个master

第一步:在local下创建redis-cluster,然后在其下分别创建6个文件夹:

[root@dark-li001local]# mkdir -p /usr/local/redis-cluster

[root@dark-li001local]# cd /usr/local/redis-cluster

[root@dark-li001redis-cluster]# mkdir 7001

[root@dark-li001redis-cluster]# mkdir 7002

[root@dark-li001redis-cluster]# mkdir 7003

[root@dark-li001redis-cluster]# mkdir 7004

[root@dark-li001redis-cluster]# mkdir 7005

[root@dark-li001redis-cluster]# mkdir 7006

 

第二步:把之前的redis.conf配置分别copy到700*下,进行修改各个文件内容,也就是对700*下的每一个copy的redis.conf文件进行修改,如下:

1.daemonize yes   #使用后台服务启动

2.port 700* (分别对每个机器的端口号进行设置,如果是不同的机器则可以不用修改端口)

3.bind 192.168.1.*(必须要绑定当前机器的IP)

4.dir /usr/local/redis-cluster/700*/ (指定数据文件存放位置,必须要指定不同的目录,不然文件会丢失)

5.cluster-enabled yes  (表示启动集群模式)

6.cluster-config-file nodes-700*conf

7.cluster-node-timeout 5000 (设置访问超时时间5s)

8.appendonly yes  (启用AOP持久化机制)

9.pidfile /var/run/redis_700x.pid          //pidfile文件

操作如下:

[root@dark-li001etc]# cp redis.conf /usr/local/redis-cluster/7001

[root@dark-li001etc]# vim /usr/local/redis-cluster/7001/redis.conf

编辑后的内容为:

然后把7001的redis.conf分别拷贝其他对应7002到7006文件夹下,并修改port 和dir 和

Cluster-config-filenodes-700*.conf

 

然后修改其他文件的内容:

[root@dark-li001etc]# cd /usr/local/redis-cluster/7001

[root@dark-li0017001]# ls

redis.conf

[root@dark-li0017001]# cp redis.conf /usr/local/redis-cluster/7002

[root@dark-li0017001]# cp redis.conf /usr/local/redis-cluster/7003

[root@dark-li0017001]# cp redis.conf /usr/local/redis-cluster/7004

[root@dark-li0017001]# cp redis.conf /usr/local/redis-cluster/7005

[root@dark-li0017001]# cp redis.conf /usr/local/redis-cluster/7006

[root@dark-li0017001]# cd ..

[root@dark-li001redis-cluster]# cd 7002

[root@dark-li0017002]# vim redis.conf

如图:

回车:

 

第三步:

由于redis集群需要使用ruby命令,所以需要安装ruby,安装步骤如下:

1.  yum install ruby

2.  yum install rubygems

3.  gem install redis(安装redis和ruby的接口)

如图1:

安装完毕:

如图2:

安装完毕:

如图3:

这个安装要等会儿,可能国内网比较慢

第四步:

分别启动6个redis实例,然后检查是否启动成功

 

[root@dark-li001local]# /usr/local//redis/bin/redis-server /usr/local/redis-cluster/7001/redis.conf

[root@dark-li001local]# /usr/local//redis/bin/redis-server /usr/local/redis-cluster/7002/redis.conf

[root@dark-li001local]# /usr/local//redis/bin/redis-server /usr/local/redis-cluster/7003/redis.conf

[root@dark-li001local]# /usr/local//redis/bin/redis-server /usr/local/redis-cluster/7004/redis.conf

[root@dark-li001local]# /usr/local//redis/bin/redis-server /usr/local/redis-cluster/7005/redis.conf

[root@dark-li001local]# /usr/local//redis/bin/redis-server /usr/local/redis-cluster/7006/redis.conf

 

检查是否正常启动,如图表示都已经正常启动:

[root@dark-li001local]# ps -el | grep redis

 

第五步:首先到redis3.0的安装目录下,然后执行redis-trib.rb命令

1.  cd /usr/local/redis3.0/src

2. /redis-trib.rb create --replicas 1192.168.239.131:7001 192.168.239.131:7002 192.168.239.131:7003192.168.239.131:7004 192.168.239.131:7005 192.168.239.131:7006如图集群就算是搭建成功了:


第六步:测试集群

如图克隆6个会话,每个会话对应连接到7001-7006:


去7002看:

去7004get:

发现数据还是从7002获取,为什么?

回到这张图可以看到7002对应从节点是7005

登录7005查看:


这里设置readonly只是使用客户端这样获取才会需要这样,在java代码中不需要我们设置,redis java包自动给我们做了这个事情,会自动依据算法去对应的节点上获取数据

第七步:查看集群状态、节点信息

登录到客户端:cluster info 、cluster nodes




搭建环境可能遇到的问题:

安装redis和ruby的接口的时候,会遇见redis requires Ruby version >= 2.2.2,查了资料发现是Centos默认支持ruby到2.0.0,可gem 安装redis需要最低是2.2.2
解决办法是 先安装rvm,再把ruby版本提升至2.3.3
http://www.cnblogs.com/carryping/p/7447823.html
centos 6.5安装rvm
http://www.lxway.com/629501421.htm
http://blog.youkuaiyun.com/lixwjava/article/details/50408070
参考上面的链接基本就可以解决




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值