1、解压
tar -zxvf redis-5.0.5.tar.gz
2、编译
cd redis-5.0.5
make
最后会有一句 It's a good idea to run 'make test'
说明编译成功。
3、安装
安装 redis
到 /usr/local/redis
下面。
make PREFIX=/usr/local/redis install
安装完成后,在usr/local/redis
下面会有安装好的文件:
4、启动redis
(1)前端模式
直接运行命令:
./redis-server
前端模式启动redis,缺点就是控制台不能再有别的操作了,需要进行其它操作只能先通过CTRL+C
中断redis-server程序。
(2)后端模式
在解压的文件下面有一个配置文件 redis.conf
,通过命令复制到安装目录下:
mv /home/tao/download/redis-5.0.5/redis.conf /usr/local/redis
修改 redis.conf
文件中的 daemonize yes
, 原来为 daemonize no
。
然后以启动时指定配置文件的方式启动 redis
:
cd /usr/local/redis/bin
./redis-server /usr/local/redis/redis.conf
5、停止redis服务
执行命令:
/usr/local/redis/bin/redis-cli shutdown
6、使用redis-cli操作redis
执行命令:
cd /usr/local/redis/bin
./redis-cli
启动连接 redis
,然后就可以输入 redis
支持的命令来使用 redis
了。
7、开机自启动redis
新建 redis.service
文件:
cd /usr/lib/systemd/system
vim redis.service
并填入以下内容:
[Unit]
Description=The redis-server Process Manager
After=syslog.target network.target
[Service]
Type=forking
PIDFile=/var/run/redis_6379.pid
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/redis.conf
ExecReload=/bin/kill -USR2 $MAINPID
ExecStop=/bin/kill -SIGINT $MAINPID
[Install]
WantedBy=multi-user.target
保存退出
执行 sudo systemctl daemon-reload
启动服务 sudo systemctl start redis.service
设置开机自启动 sudo systemctl enable redis.service
8、无法远程访问redis的问题
CentOS 7
新装的 Redis
是无法远程访问的,需要做一下修改:
1、修改 redis.conf
配置文件
- 将
bind 127.0.0.1
使用#
注释掉,改为# bind 127.0.0.1
(bind
配置的是允许连接的ip
,默认只允许本机连接;若远程连接需注释掉,或改为0.0.0.0
)。 - 将
protected-mode yes
改为protected-mode no
(3.2
之后加入的新特性,目的是禁止公网访问redis cache
,增强redis
的安全性)。 - 将
requirepass foobared
注释去掉,为redis
连接设置密码,foobared
为密码,也可修改为别的值(可选,建议设置)。 - 重启
redis
2、关闭以及禁用 CentOS 7
防火墙 [方法]
systemctl stop firewalld.service
systemctl disable firewalld.service
systemctl status firewalld.service
9、redis.conf配置信息
- daemonize 如果需要在后台运行,把该项改为yes
- pidfile 配置多个pid的地址 默认在/var/run/redis_6379.pid
- bind 绑定ip,设置后只接受来自该ip的请求
- port 监听端口,默认是6379
- loglevel 分为4个等级:debug verbose notice warning
- logfile 用于配置log文件地址
- databases 设置数据库个数,默认使用的数据库为0
- save 设置redis进行数据库镜像的频率。
- rdbcompression 在进行镜像备份时,是否进行压缩
- dbfilename 镜像备份文件的文件名
- dir 数据库镜像备份的文件放置路径
- slaveof 设置数据库为其他数据库的从数据库
- masterauth 主数据库连接需要的密码验证
- requriepass 设置 登陆时需要使用密码
- maxclients 限制同时使用的客户数量
- maxmemory 设置redis能够使用的最大内存
- appendonly 开启append only模式
- appendfsync 设置对appendonly.aof文件同步的频率(对数据进行备份的第二种方式)
- vm-enabled 是否开启虚拟内存支持 (vm开头的参数都是配置虚拟内存的)
- vm-swap-file 设置虚拟内存的交换文件路径
- vm-max-memory 设置redis使用的最大物理内存大小
- vm-page-size 设置虚拟内存的页大小
- vm-pages 设置交换文件的总的page数量
- vm-max-threads 设置VM IO同时使用的线程数量
- glueoutputbuf 把小的输出缓存存放在一起
- hash-max-zipmap-entries 设置hash的临界值
- activerehashing 重新hash