使用redis做缓存工具
系统高可用需要redis做主备,使用redis做分片集群,向业务逻辑中添加缓存
1.下载redis2.*.*以上版本(之前版本不支持集群)
2.复制到linux目录 /usr/redis 中
3.解压:tar -zxvf redis.*.*
4.编译: make
5.安装: make install PREFIX=usr/local/redis
6.检查是否安装成功,查看 /usr/local/redis 目录是否存在(成功截图)
启动:
7.前端启动:
cd /usr/local/redis/bin
./redis-server
默认前端启动模式,端口6379
8. 后端启动,需要配置文件
复制解压包的配置文件到安装目录的启动文件夹
cp /usr/redis/redis-5.0.0/redis.conf /usr/local/redis/bin
9.修改配置文件
把daemonize no 改成daemonize yes
10.后端启动命令
./redis-server redis.conf
11.查看是否启动
12.redis常用命令
13.常用数据类型
String(常用)、 Hash、 List、 Set、 SortedSet
1.redis-cluster架构图
2.集群结构
集群有三个节点的集群,每个节点一主一备。
搭建伪分布式集群,使用6个redisRedis实例来模拟。
3.搭建集群的环境
使用官方提供的rubyjiao脚本。
yum install ruby
yum install rubygems
4.redis集群管理工具(源码包中)
cd /usr/redis/redis-5.0.0/src
ll *.rb
5.把ruby包 redis-4.0.0.gem 上传到服务器
安装: gem install redis-3.0.0.gem
6.集群
创建6个redis实例,
删除 redis01的dump.rdb 文件
修改配置文件
vim redis.conf
port 7001 ,修改端口号
cluster-enabled yes ,注释去掉(view 模式下 /cluster 是全文检索cluster)
复制修改6份,端口号依次加一
创建启动脚本,启动6个实例
vim startAll.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 ..
保存,运行:
chmod +x startAll.sh
./startAll.sh
使用redis-trib脚本创建集群
复制redis-trib命令行到此目录
cp /usr/redis/redis-5.0.0/src/redis-trib.rb /usr/local/redis-cluster/
在redis-cluster 目录中执行(这一步自己搜索,安装rvm,更新ruby,安装redis-cli)
redis-cli --cluster create ip地址:7001 ip地址:7002 ip地址:7003 ip地址:7004 ip地址:7005 ip地址:7006 --cluster-replicas 1
测试集群:
连接(-c容易漏掉):
redis01/redis-cli -h 144.34.134.37 -p 7002 -c
set a 100
get a
关闭redis
cd /usr/local/redis-cluster
./redis-cli -p 7001 shutdown
全部关闭脚本( ./redis-cli -p 7001 shutdown ):
(此处我把redis-cli放到bin目录下了,所以可以直接使用。可以先写一条试试,关闭成功了在复制6份写成脚本)
redis-cli -p 7001 shutdown
redis-cli -p 7002 shutdown
redis-cli -p 7003 shutdown
redis-cli -p 7004 shutdown
redis-cli -p 7005 shutdown
redis-cli -p 7006 shutdown