Redis单机版
安装步骤:
第一步:安装gcc编译环境
yum install gcc-c++
第二步:把redis的源码上传到linux服务器。
第三步:解压缩。
tar -zxvf redis-3.0.0.tar.gz
第四步:make
第五步:makeinstall PREFIX=/usr/local/redis
启动Redis:两种启动方式:前端启动、后台启动
前端启动:./redis-server
后端启动:需要配置文件redis.conf(在源码包中可以找到)
# cp redis.conf /usr/local/redis
#cd /usr/local/redis
vi redis.conf
daemonize no ----> yes
./redis-server redis.conf
[root@com redis]# ps -ef|grep redis
root 17557 1 0 22:41 ? 00:00:00 ./redis-server *:6379
root 17562 10662 0 22:41 pts/1 00:00:00 grep redis
客户端
redis-cli -p 端口 -h ip地址 <-c>连接集群时使用此参数
默认端口:6379
Ip:localhost(127.0.0.1)
[root@com redis]# ./redis-cli
127.0.0.1:6379> keys *
(empty list or set)
127.0.0.1:6379> set a 100
OK
127.0.0.1:6379> get a
"100"
127.0.0.1:6379> incr a
(integer) 101
127.0.0.1:6379> decr a
(integer) 100
127.0.0.1:6379> del a
(integer) 1
127.0.0.1:6379> keys *
(empty list or set)
127.0.0.1:6379>
集群搭建
集群中应该至少有三个节点,每个节点有一备份节点。需要6台服务器。
搭建集群的步骤(搭建伪分布式,需要6个redis实例):
第一步:创建6个redis实例指定端口从7001到7006, 修改redis.conf 打开Cluster-enable yes前面的注释。
[root@com local]# mkdir redis-cluster
[root@com local]# cp redis redis-cluster/ -r
[root@com local]# cd redis-cluster
[root@com redis-cluster]# mv redis redis01
[root@com redis-cluster]# cd redis01
[root@com redis01]# rm dump.rdb
rm: remove regular file `dump.rdb'? y ##删除快照文件
持久化方式:一种是RDB,另一种是AOF
[root@com redis01]# vim redis.conf
port 6379 change to 7001
cluster-enabled yes
[root@com redis01]# cd ..
[root@com redis-cluster]# ll
total 4
drwxr-xr-x. 2 root root 4096 Sep 10 17:32 redis01
[root@com redis-cluster]# cp -r redis01/ redis02
[root@com redis-cluster]# cp -r redis01/ redis03
[root@com redis-cluster]# cp -r redis01/ redis04
[root@com redis-cluster]# cp -r redis01/ redis05
[root@com redis-cluster]# cp -r redis01/ redis06
修改每一个端口从7002 - 7006
第二步:需要一个ruby脚本。在redis源码文件夹下的src目录下。redis-trib.rb
[root@com redis-cluster]# cd /home/mark/Software
[root@com Software]# cd redis-3.0.0/src
[root@com src]# ll *.rb
-rwxrwxr-x. 1 root root 48141 Apr 1 2015 redis-trib.rb
[root@com src]# cd /usr/local/redis-cluster
[root@com redis-cluster]# ll
total 72
drwxr-xr-x. 2 root root 4096 Sep 10 17:32 redis01
drwxr-xr-x. 2 root root 4096 Sep 10 17:37 redis02
drwxr-xr-x. 2 root root 4096 Sep 10 17:38 redis03
drwxr-xr-x. 2 root root 4096 Sep 10 17:38 redis04
drwxr-xr-x. 2 root root 4096 Sep 10 17:39 redis05
drwxr-xr-x. 2 root root 4096 Sep 10 17:39 redis06
-rwxr-xr-x. 1 root root 48141 Sep 10 17:42 redis-trib.rb
第三步:把redis-trib.rb文件复制到到redis-cluster目录下。
[root@com src]# cp redis-trib.rb /usr/local/redis-cluster
第四步:执行ruby脚本之前,需要安装ruby环境。
1、yum install ruby
2、yum install rubygems
3、安装redis-trib.rb运行依赖的ruby的包。
[root@bogon ~]# gem install redis-3.0.0.gem
第六步:启动所有的redis实例。
[root@com Software]# cd /usr/local/redis-cluster
[root@com Software]# vim start-all.sh
cd /usr/local/redis-cluster/redis01 && /usr/local/redis-cluster/redis01/redis-server redis.conf
cd /usr/local/redis-cluster/redis02 && /usr/local/redis-cluster/redis02/redis-server redis.conf
cd /usr/local/redis-cluster/redis03 && /usr/local/redis-cluster/redis03/redis-server redis.conf
cd /usr/local/redis-cluster/redis04 && /usr/local/redis-cluster/redis04/redis-server redis.conf
cd /usr/local/redis-cluster/redis05 && /usr/local/redis-cluster/redis05/redis-server redis.conf
cd /usr/local/redis-cluster/redis06 && /usr/local/redis-cluster/redis06/redis-server redis.conf
-rw-r--r--. 1 root root 205 Sep 10 17:56 start-all.sh
[root@com redis-cluster]# chmod +x start-all.sh
-rwxr-xr-x. 1 root root 205 Sep 10 17:56 start-all.sh
[root@com redis-cluster]# ./start-all.sh
[root@com redis-cluster]# ps -aux|grep redis
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ
root 9693 0.2 0.7 137440 7484 ? Ssl 18:00 0:00 /usr/local/redis-cluster/redis01/redis-server *:7001 [cluster]
root 9697 0.1 0.7 137440 7488 ? Ssl 18:00 0:00 /usr/local/redis-cluster/redis02/redis-server *:7002 [cluster]
root 9701 0.1 0.7 137440 7484 ? Ssl 18:00 0:00 /usr/local/redis-cluster/redis03/redis-server *:7003 [cluster]
root 9705 0.1 0.7 137440 7488 ? Ssl 18:00 0:00 /usr/local/redis-cluster/redis04/redis-server *:7004 [cluster]
root 9709 0.1 0.7 137440 7484 ? Ssl 18:00 0:00 /usr/local/redis-cluster/redis05/redis-server *:7005 [cluster]
root 9713 0.2 0.7 137440 7484 ? Ssl 18:00 0:00 /usr/local/redis-cluster/redis06/redis-server *:7006 [cluster]
root 9803 0.0 0.0 103308 832 pts/0 S+ 18:00 0:00 grep redis
第七步:使用redis-trib.rb创建集群。
./redis-trib.rb create --replicas 1 192.168.86.130:7001 192.168.86.130:7002 192.168.86.130:7003 192.168.86.130:7004 192.168.86.130:7005 192.168.86.130:7006 |
--replicas 1 --每个主节点一个备份节点
第八步:使用客户端连接集群:redis01/redis-cli -p 7001 -c
[root@com redis-cluster]# redis01/redis-cli -p 7001 -c
127.0.0.1:7001> keys *
(empty list or set)
127.0.0.1:7001> set a 100
-> Redirected to slot [15495] located at 192.168.86.130:7003
OK
192.168.86.130:7003> get a
"100"
192.168.86.130:7003> incr a
(integer) 101
192.168.86.130:7003> decr a
(integer) 100
192.168.86.130:7003> del a
(integer) 1
192.168.86.130:7003> keys *
(empty list or set)