Redis单机版安装
第一步:安装gcc编译环境
yum install gcc-c++
第二步:把redis的源码上传到linux服务器。
第三步:解压缩。
tar -zxvf redis-3.0.0.tar.gz
第四步:make
第五步:makeinstall PREFIX=/usr/local/redis
---------------------------------------------------------------------------------------------------------------
1.1.1 启动redis(进入/usr/local/redis/redis)
两种启动方式,前端启动、后台启动。
前端启动:./redis-server
启动完成
后台启动:
1、复制redis.conf到redis的安装目录(先[root@localhost bin]# cd ~/redis-3.0.0 然后在cp redis.conf /usr/local/redis/bin)
2、修改redis.conf。修改daemonize yes
3、[root@bogonredis]# ./redis-server redis.conf 进行启动
-------------------------------------------------------------------------------------------------------长长的分割线-----------------------------------------------------------------------------------------------------
Redis集群
redis-cluster架构图
架构细节:
(1)所有的redis节点彼此互联(PING-PONG机制),内部使用二进制协议优化传输速度和带宽.
(2)节点的fail是通过集群中超过半数的节点检测失效时才生效.
(3)客户端与redis节点直连,不需要中间proxy层.客户端不需要连接集群所有节点,连接集群中任何一个可用节点即可
(4)redis-cluster把所有的物理节点映射到[0-16383]slot上,cluster负责维护node<->slot<->value
Redis集群中内置了 16384个哈希槽,当需要在 Redis集群中放置一个 key-value时,redis先对 key使用 crc16算法算出一个结果,然后把结果对 16384求余数,这样每个 key都会对应一个编号在 0-16383之间的哈希槽,redis会根据节点数量大致均等的将哈希槽映射到不同的节点
集群搭建
集群中应该至少有三个节点,每个节点有一备份节点。需要6台服务器。
搭建伪分布式,需要6个redis实例。
搭建集群的步骤:
先创建一个文件夹 [root@localhost local]# mkdir redis-cluster
复制之前安装好的redis到reids-cluster
进入/usr/local/redis 然后修改目录下bin的名称为redis mv bin redis
然后进行复制cp redis /usr/local/redis-cluster/ -r
修改名字[root@localhost redis-cluster]# mv redis redis01
进入配置文件,进行端口号的修改vim redis.conf
复制6份:
[root@localhost redis-cluster]# cp -r redis01 redis02
[root@localhost redis-cluster]# cp -r redis01 redis03
[root@localhost redis-cluster]# cp -r redis01 redis04
[root@localhost redis-cluster]# cp -r redis01 redis05
[root@localhost redis-cluster]# cp -r redis01 redis06
第一步:创建6个redis实例指定端口从7001到7006
第二步:修改redis.conf打开Cluster-enableyes前面的注释。
第三步:需要一个ruby脚本。在redis源码文件夹下的src目录下。redis-trib.rb([root@localhost src]# ll *rb)
第四步:把redis-trib.rb文件复制到到redis-cluster目录下。([root@localhost src]# cp redis-trib.rb /usr/local/redis-cluster/)
第五步:执行ruby脚本之前,需要安装ruby环境。
1、yum installruby
2、yum installrubygems
3、安装redis-trib.rb运行依赖的ruby的包。
[root@bogon ~]# gem install redis-3.0.0.gem
第六步:启动所有的redis实例。
写一个脚本语言,进入到/usr/local/redis-cluster/目录下。再vim start-all.sh。然后输入:
cd redis01./redis-server redis.conf
cd ..
cd redis02
./redis-server redis.conf
cd ..
cd redis03
./redis-server redis.conf
cd ..
cd redis04
./redis-server redis.conf
cd ..
cd redis05
./redis-server redis.conf
cd ..
cd redis06
./redis-server redis.conf
cd ..
再保存退出,运行./start-all.sh
./redis-trib.rb create --replicas 1 192.168.199.158:7001 192.168.199.158:7002 192.168.199.158:7003 192.168.199.158:7004 192.168.199.158:7005 192.168.199.158:7006
第八步:测试集群
[root@localhost redis-cluster]# redis01/redis-cli -h 192.168.199.158 -p 7002 -c
192.168.199.158:7002> set a 100
关闭Redis
redis01/redis-cli -p 7001 shutdown