centos 默认情况下已经安装过gcc
如果让redis后台运行启动就需要修改redis.conf配置文件。在配置文件中找到daemonize no改为yes
另外一种安装方式是默认安装redis
第一步
第二步
cd /usr/local/目录下wget http://download.redis.io/releases/redis-5.0.4.tar.gz
第三步
在/usr/local/ 进行解压 (tar -xzvf redis-5.0.4.tar.gz)
第四步
切换到解压后的目录 cd redis-4.0.9
5.编译 make 有可能会编译出错说gcc环境未安装 貌似redis环境需要C语言环境支持 执行命令行 yum install -y gcc g++ gcc-c++ make
6.进入到src目录 cd src
7.执行安装 make install
到此就安装完成。但是,由于安装redis的时候,我们没有选择安装路径,故是默认位置安装。在此,我们可以将可执行文件和配置文件移动到习惯的目录。
cd /usr/local
mkdir -p /usr/local/redis/bin
mkdir -p /usr/local/redis/etc
cd /usr/local/redis-4.0.2
cp ./redis.conf /usr/local/redis/etc
cd src
cp mkreleasehdr.sh redis-benchmark redis-check-aof redis-cli redis-server redis-sentinel /usr/local/redis/bin
比较重要的3个可执行文件:
redis-server:Redis服务器程序
redis-cli:Redis客户端程序,它是一个命令行操作工具。也可以使用telnet根据其纯文本协议操作。
redis-benchmark:Redis性能测试工具,测试Redis在你的系统及配置下的读写性能
Redis的启动命令:
/usr/local/redis/bin/redis-server
二、Redis的配置
下面列举了Redis中的一些常用配置项:
daemonize 如果需要将Redis服务以守护进程在后台运行,则把该项的值改为yes
pidfile 配置多个pid的地址,默认在/var/run/redis/pid
bind 绑定ip,设置后只接受来自该ip的请求
port 监听端口,默认是6379
timeout 客户端连接超时的设定,单位是秒
loglevel 分为4级,debug、verbose、notice、warning
logfile 配置log文件地址
databases 设置数据库的个数,默认使用的数据库为0
save 设置redis进行数据库镜像的频率
rdbcompression 在进行镜像备份时,是否进行压缩
Dbfilename 镜像备份文件的文件名
Dir 数据库镜像备份文件的存放路径
Slaveof 设置数据库为其他数据库的从数据库
Masterauth 主数据库连接需要的密码验证
Requirepass 设置登录时,需要使用的密码
Maxclients 设置同时连接的最大客户端数量
Maxmemory 设置redis能够使用的最大内存
Appendonly 开启append only模式
Appendfsync 设置对appendonly.aof文件同步的频率
vm-enabled 是否开启虚拟内存支持
vm-swap-file 设置虚拟内存的交换文件路径
vm-max-memory 设置redis能够使用的最大虚拟内存
vm-page-size 设置虚拟内存的页大小
vm-pages 设置交换文件的总的page数量
vm-max-threads 设置VMIO同时使用的线程数量
Glueoutputbuf 把小的输出缓存存放在一起
hash-max-zipmap-entries 设置hash的临界值
Activerehashing 重新hash
修改redis的配置参数:
vi /usr/local/redis/etc/redis.conf
将daemonize no改为daemonize yes,保存退出。
再来启动redis服务器
cd /usr/local/redis/bin
./redis-server /usr/local/redis/etc/redis.conf 启动redis并指定配置文件
ps aux | grep redis 查看redis是否启动成功
netstat -tlun 查看主机的6379端口是否在使用(监听)
./redis-cli 打开redis的客户端
quit 退出redis的客户端
pkill redis-server 关闭redis服务器
./redis-cli shutdown 也可以通过这条命令关闭redis服务器
最后一步测试redis
cd /usr/local/bin/
[root@xxxx bin]# ./redis-cli
redis> set foo bar
OK
redis> get foo
"bar"
redis集群搭建
1.wget http://download.redis.io/releases/redis-5.0.4.tar.gz
2.tar -xzvf redis-5.0.4.tar.gz -C /usr/local/src/
3.cd /usr/local/src/redis-5.04/
4.make install PREFIX=/usr/local/redis
5.cp /usr/local/src/redis-5.04/redis.config /usr/local/redis/bin/
6.配置主服务器
vim redis.config
修改
69行 bind 192.168.0.115 为本服务器ip
92行 port 6379 修改端口号
136行 daemonize yes 修改no为yes
158行 pidfile "/var/run/redis_6379.pid"
主服务器关闭rdb配置
218行 #save 900 1
219行 #save 300 10
220行 #save 60 10000
253行 #dbfilename "dump6379.rdb"
263行 dir "/usr/local/redis/bin" rdb和aof文件默认生成路径
507行 requirepass "123456" 添加密码
699行 appendonly yes 开启aof日志
703行 appendfilename "appendonly6379.aof"
启动主服务器
[root@local62 bin]# ./redis-server ./redis.conf
2872:C 25 Aug 2019 22:59:26.927 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
2872:C 25 Aug 2019 22:59:26.927 # Redis version=5.0.4, bits=64, commit=00000000, modified=0, pid=2872, just started
2872:C 25 Aug 2019 22:59:26.927 # Configuration loaded
客户端连接
[root@local62 bin]# ./redis-cli -h 192.168.0.115 -p 6379
192.168.0.115:6379> auth 123456
OK
192.168.0.115:6379>keys *
-------------------------------------------------------------------------------------------------
配置从服务器
1.wget http://download.redis.io/releases/redis-5.0.4.tar.gz
2.tar -xzvf redis-5.0.4.tar.gz -C /usr/local/src/
3.cd /usr/local/src/redis-5.04/
4.make install PREFIX=/usr/local/redis
5.cp /usr/local/src/redis-5.04/redis.config /usr/local/redis/bin/
6.配置从服务器
vim redis6380.conf
修改
69行 bind 192.168.0.63 为本服务器ip
92行 port 6380 修改端口号
136行 daemonize yes 修改no为yes
158行 pidfile "/var/run/redis_6380.pid"
253行 dbfilename "dump6380.rdb"
263行 dir "/usr/local/redis/bin/rdb"
286行 replicaof 192.168.0.63 6380 //从服务器的ip地址 端口号
293行 masterauth "123456" //要保证和主服务器设置的密码一致
324行 replica-read-only yes //从服务器默认是只读模式
699行 #appendonly no
703行 #appendfilename "appendonly6380.aof"
配置文件中默认rdb已开启。aof默认情况下是关闭的。所以这个配置文件就没什么可以修改了。
[root@localhost63 bin]# ./redis-server ./redis6380.conf
cp /usr/local/src/redis-5.04/sentinel.conf /usr/local/redis/bin/
修改监听文件(哨兵)
121行 sentinel monitor mymaster 192.168.0.115 6379 2
122行 sentinel auth-pass mymaster 123456 //如果主服务器设置登录密码这个地方需要加密码(mymaster这个名字是可以修改的。我就按照默认名字来配置了。)
--------------------------------------------------------------------------------------------------------
.配置从服务器
vim redis6381.conf
修改
69行 bind 192.168.0.63 为本服务器ip
92行 port 6381 修改端口号
136行 daemonize yes 修改no为yes
158行 pidfile "/var/run/redis_6381.pid"
从服务器关闭rdb配置
218行 #save 900 1
219行 #save 300 10
220行 #save 60 10000
253行 #dbfilename "dump6381.rdb"
263行 #dir "/usr/local/redis/bin/rdb"
286行 replicaof 192.168.0.63 6381 //从服务器的ip地址 端口号
293行 masterauth "123456" //要保证和主服务器设置的密码一致
324行 replica-read-only yes //从服务器默认是只读模式
699行 #appendonly no //关闭aof
703行 #appendfilename "appendonly6380.aof"
[root@local63 bin]# ./redis-server ./redis6381.conf
最后启动哨兵
[root@local63 bin]# ./redis-server ./sentinel.conf --sentinel