单机版本
由于redis是c++写的,咱们首先须要安装c++环境node
1.在linux安装c++源码编译器 须要联网
linux输入yum -y install gcc gcc-c++linux

2.官网下载redis源码包redis-4.0.10.tar
3.使用xftp将redis-4.0.10.tar上传到linux 协议用xftp不然连不上
4.解压
若是没有权限 使用c++
chmod +x redis压缩包 给可执行权限redis

5.进入解压目录。看是否有markFile目录 若是没有则本身建立一个

6.执行make进行编译
7.编译完成后将src下面的redis-server、redis-benchmark、redis-cli和redis.conf。而后拷贝到一个目录下。、
8.将redis设置为后台启动 vi编辑器编辑redis.conf 使用/daemonize 收缩找到 改成yes

9. ./redis-server redis.conf 启动
10.使用ps aux|grep redis查看是否启动成功

11.使用telnet测试是否能链接

12.开放对外端口
(可能遇到的问题https://blog.csdn.net/csdn_lqr/article/details/53885808)算法
iptables -I INPUT -p tcp --dport 6379 -j ACCEPTruby
12.iptables -L INPUT -n --line-numbers 查看是否开放成功

13.端口改成本机ip

集群版本
架构

3台主服务器 服务器
redis内置16384 个哈希槽 会根据redis集群的数量 将这些hash槽均匀分配到每一个集群节点上。
当咱们经过命令存取数据的时候
redis
先对
key
使用
crc16
算法算出一个结果,而后把结果对
16384
求余数 算出(0-16384之间的数字)而后经过这个数字知道 值放在哪台服务器上
hash槽也能够根据每一个节点的内存 来进行分配 好比一台机器内存比较少 那么槽的数量就分少一点
若是其中一个主节点彻底挂掉了 那么整个集群也挂掉了
好处
集群架构模型主要用来缓解写入性能架构
1.复制单机版客户端6份
2.修改每一个redis的redis.conf端口改成不一致 6379 6380 6381 6382 6383 6384 同时取消cluster-enable=yes注释 表示集群节点
3.建立批处理启动和关闭程序脚本



3.给新加的2个文件可执行权限
chmod +x start-all.shtcp
4.测试启动执行start-all.sh

5.查看是否启动成功

6.执行批量关闭的sh ./shutdown-all.sh 并查看redis的状态

7.开放全部端口对外访问权限
iptables -I INPUT -p tcp --dport 6379 -j ACCEPT编辑器
7.安装rvm ruby
参考https://blog.csdn.net/zzzcl112/article/details/80531792(redis脚本 src目录下 redis-trip.rb是基于ruby写的)
8安装 ruby须要的redis接口gem install redis
8 ./redis-trib.rb create 192.168.65.128:6379 192.168.65.128:6380 192.168.65.128:6381
先建立3个主节点(去安装目录src下执行redis-trib.rb)
9.经过其中一个主节点查看集群节点./redis-trib.rb info 192.168.65.128:6379
主从复制模型

在原来的集群架构上 每一个主节点增长3个从节点。防止其中一台主服务器挂掉了 致使集群 宕机 ,当主服务器挂了后 从服务器自动提高为主
集群版咱们新增了redis4 redis5 redis6 分别对应 redis1 redis2 redis3 的从节点
1.分别修改从节点的redis.conf 指定失联时间 超过期间则为故障节点 通常设置为15秒
还有就是设置多个读 缓解读性能

2.启动全部redis节点

3.将从节使用redis-trip.rb加入到集群
./redis-trib.rb add-node 192.168.65.128:6382 192.168.65.128:6379 6382是从节点 对应主节点是6379 经过他能够找到6379的集群
4.查看集群中的节点
./redis-trib.rb info 192.168.65.128:6379

能够发现多了一个节点 并无分配hash槽 上面这里只是将从节点加入到了集群 并无指定主节点
5.使用redis-cli登录从节点并使用指定他的主节点
./redis-cli -h 192.168.65.128 -p 6382
输入cluster nodes 找到主节点的id
6.经过id指定当前节点的主节点 cluster replicate e10dde558fb46fe8ae6fe66e54ef56032fbcce0f
7.查看是否分配成功


各个集群节点都有一个从节点
8.其余2个从节点重复此操做
9.最终的各个集群节点

10.使用kill杀死主节点进程


关闭6379

15秒后 配置文件配置的15秒。。能够发现6379的从节点切回了主节点