redis
1.0.1 案例环境
主机 | 操作系统 | IP地址 | 主要软件 |
---|---|---|---|
服务器 | Centos7.4 | 20.0.0.10 | redis |
服务器 | Centos7.4 | 20.0.0.101 | redis |
服务器 | Centos7.4 | 20.0.0.11 | redis |
服务器 | Centos7.4 | 20.0.0.111 | redis |
2.0.1 安装Redis
安装相关依赖包
yum install gcc gcc-c++ make -y
解压之前上传的文件
tar zxvf redis-5.0.7.tar.gz -C /opt/
进入解压过的文件进行编译
cd redis-5.0.7/
make
make PREFIX=/usr/local/redis install
ln -s /usr/local/redis/bin/* /usr/local/bin/
执行脚本
cd /opt/redis-5.0.7/utils
./install_server.sh
然后一直回车就可以了到第四给不要在按回车了输入以下内容
/usr/local/redis/bin/redis-srver
然后查看服务是否开启
nestart -lnupt | gerp 6379
2.0.2 控制Redis服务的命令
作用 | 命令 |
---|---|
停止 | /etc/init.d/redis_6379 stop |
启动 | /etc/init.d/redis_6379 start |
重启 | /etc/init.d/redis_6379 restart |
状态 | /etc/init.d/redis_6379 status |
2.0.3 配置Redis服务
6379.conf 时redis的配置文件
vim /etc/redis/6379.conf
70/ bind 127.0.0.1 20.0.0.10 #修改
93/ port 6379 #端口
137 daemonize yes # 以独立进程启动
159/ pidfile /var/run/redis_6379.pid
167/loglevel notice
172/logfile /var/log/redis_6379.log
2.0.4 测试是否安装成功
redis-cli -h 20.0.0.10 -p 6379
可以直接访问到数据库就代表成功了
3.0.1 部署Redis集群
*所有节点都要操作
进入 配置文件
注释掉bind项 //redis中的bind选项默认监听所有网卡
vi /etc/redis/6379.conf
89/ protected-mode no #关闭保护模式
93/ port 6379
137/ daemonize yes
833/ cluster-enabled yes #开启群集功能
841/ cluster-config-file nodes-6379.conf #群集名称文件设置
847/ cluster-node-timeout 15000 #群集超时时间设置
700/ appendonly yes #开启aof持久化
修改过后 重启服务
/etc/redis/6379.conf restart
*正常启动后,/var/lib/redis/6379/目录下会多出两个文件,
一个初九话appendonly.aof文件,另外一个时接单首次启动生成的 nodes-6379.conf配置文件.
3.0.2 配置master服务器
导入key文件
gpg --keyserver hkp://keys.gunpg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
安装rvm
curl -sSL https://get.rvm.io | bash -s stable
执行脚本
./rvm-install.sh
执行环境变量
source /etc/profile.d/rvm.sh
列出Ruby 可安装的版本
rvm list known
安装 ruby2.4.1版本
rvm install 2.4.1
使用 ruby2.4.1
rvm use 2.4.1
查看当前ruby版本
ruby -v
再次安装Redis
gem install redis
3.0.3 创建群集
redis-cli --cluster create 20.0.0.10:6379 20.0.0.101:6379 20.0.0.11:6379 20.0.0.111:6379 --cluster-replicas 1
3.0.4 测试方法
- 在 主服务器20.0.0.10 创建一个文件
- 去 从服务器 20.0.0.11 查看是否存在存在代表成功
3.0.5 案例报错
1.
一直点点点 无反应
我的解决方法是 把/etc/redis/6379.conf 里面的文件 bind行注释掉
2.
显示指定节点 还处于保护模式
我的解决方法 是关掉指定节点的保护模式
3.
表示已经创建了群组
我的解决方法是 删掉 /var/lib/redis6379 下的3个文件 然后重启 redis服务重新生成
再建立cluster
4.0.1 测试工具redis-benchmark
- redis-benchmark 是官方自带的Redis性能检测工具,可以有效的测试Redis服务的性能》基本的测试语法为 redis-benchmark [option] [option value] .
选项 | 作用 |
---|---|
-h | 指定服务器主机名 |
-p | 指定服务器端口 |
-s | 指定服务器socket |
-c | 指定并发连接数 |
-n | 指定请求数 |
-d | 以字节的形式指定 SET/GET 值的数据大小 |
-k | 1=keep alive 0 =reconnect |
-r | SET/GET/INCR 使用随机 key,SADD 使用随机值 |
-P | 通过管道传输请求 |
-q | 强制退出 redis 仅显示 query/sec 值 |
–csv | 以CSV 格式输出 |
-l | 生成循环 永久执行测试 |
-t | 仅运行以逗号分隔的测试命令列表 |
-I | ldle 模式,仅打开N个idle连接并等待 |