centos7上安装redis
一、直接单机版安装
-
1、
Redis
是基于C
语言编写的,因此首先需要安装Redis
所需要的gcc
依赖yum install -y gcc tcl
-
2、官网上下载依赖包来安装,官网地址
-
直接官网上下载,上传到服务器上,下载地址
-
直接使用
wget
的方式下载wget https://shuiping.oss-cn-shenzhen.aliyuncs.com/redis-6.2.6.tar.gz
-
-
3、把文件放在
/usr/local/src
目录下 -
4、解压文件
tar -xzf redis-6.2.6.tar.gz
-
5、进入解压后的文件夹下,编译安装
make && make install
-
6、默认的安装路径是在
/usr/local/bin
目录下redis-cli
:是redis
提供的命令行客户端redis-server
:是redis
的服务端启动脚本redis-sentinel
:是redis
的哨兵启动脚本
-
7、直接启动
./redis-server
-
8、进入
redis-cli
中查看版本号[root@iZwz9et2qekjwu8mwmxgxhZ bin]# ./redis-cli 127.0.0.1:6379> info server # Server redis_version:6.2.6 redis_git_sha1:00000000 redis_git_dirty:0 redis_build_id:a90324d212372b79 redis_mode:standalone os:Linux 3.10.0-957.21.3.el7.x86_64 x86_64 arch_bits:64 multiplexing_api:epoll atomicvar_api:atomic-builtin gcc_version:4.8.5 process_id:27941 process_supervised:no run_id:156053feefd85fba87a4e027dc72fa8fbae4df95 tcp_port:6379 server_time_usec:1689563133774537 uptime_in_seconds:20 uptime_in_days:0 hz:10 configured_hz:10 lru_clock:11841533 executable:/usr/local/bin/./redis-server config_file: io_threads_active:0 127.0.0.1:6379>
-
9、使用配置文件启动,并且再后台启动,配置文件的路径
/usr/local/src/redis-6.2.6
下的redis.conf
文件 -
10、先拷贝一份
cp redis.conf redis.conf.bck
-
11、然后修改
redis.conf
文件中的一些配置# 允许访问的地址,默认是127.0.0.1,会导致只能在本地访问。修改为0.0.0.0则可以在任意IP访问,生产环境不要设置为0.0.0.0 bind 0.0.0.0 # 守护进程,修改为yes后即可后台运行 daemonize yes # 密码,设置后访问Redis必须输入密码 requirepass 123456
# 监听的端口 port 6379 # 工作目录,默认是当前目录,也就是运行redis-server时的命令,日志、持久化等文件会保存在这个目录 dir . # 数据库数量,设置为1,代表只使用1个库,默认有16个库,编号0~15 databases 1 # 设置redis能够使用的最大内存 maxmemory 512mb # 日志文件,默认为空,不记录日志,可以指定日志文件名 logfile "redis.log"
-
12、进入目录下
/usr/local/src/redis-6.2.6
redis-server redis.conf
-
13、进入命令窗口
redis-cli auth 123456
二、设置开机启动
-
1、创建一个文件
vim /etc/systemd/system/redis.service
-
2、
/etc/systemd/system/redis.service
的文件内容[Unit] Description=redis-server After=network.target [Service] Type=forking ExecStart=/usr/local/bin/redis-server /usr/local/src/redis-6.2.6/redis.conf PrivateTmp=true [Install] WantedBy=multi-user.target
-
3、重新加载配置服务
systemctl daemon-reload
-
4、常见命令
# 启动 systemctl start redis # 停止 systemctl stop redis # 重启 systemctl restart redis # 查看状态 systemctl status redis # 开始自启 systemctl enable redis
三、使用docker
安装
-
1、安装
docker
yum install docker
-
2、几个常见的命令
service docker start service docker stop service docker restart
-
3、下载文件
docker pull redis:6.0.10
-
4、本地创建一个配置文件
/root/redis/conf/redis.conf
bind 0.0.0.0 protected-mode yes port 6379 tcp-backlog 511 timeout 0 tcp-keepalive 0 loglevel notice logfile "" databases 16 save 900 1 save 300 10 save 60 10000 stop-writes-on-bgsave-error yes rdbcompression yes rdbchecksum yes dbfilename dump.rdb dir ./ requirepass 123456
-
5、使用镜像创建容器
docker run -it -d --name redis -m 300m --net=host \ -v /root/redis/conf:/usr/local/etc/redis redis:6.0.10 \ redis-server /usr/local/etc/redis/redis.conf
-
6、进入容器中查看版本号及设置一个值,本地查看
docker exec -it 8cf81a077db8 /bin/bash
四、直接使用yum
安装
- 1、参考文档
五、redis
持久化
-
1、
RDB
模式,默认的方式,使用快照的模式# 900秒内,如果至少有一个key被修改,则执行bgsave操作,如果save "" 表示禁止使用RDB持久化 save 900 1 save 300 10 save 60 10000 stop-writes-on-bgsave-error yes # 是否压缩 rdbcompression yes rdbchecksum yes # RDB文件名称 dbfilename dump.rdb # 文件保存的路径目录 dir ./
-
2、
AOF
模式-
AOF
默认是关闭的,需要修改redis.conf
配置文件来开启AOF
# 默认是no表示不开启,如果要开启改为yes appendonly no # AOF文件名称 appendfilename "appendonly.aof"
-
AOF
持久化频率# 表示每执行一次写命令,立即会记录到AOF文件中 # appendfsync always # 写命令执行完成,先放入到AOF缓冲区,然后每隔1秒将缓冲区的数据写入到AOF中,默认的方式 appendfsync everysec # 写命令执行完成,先放入到AOF缓冲区,由操作系统决定何时写入本地文件中 # appendfsync no
-
redis
触发阀值自动重写AOF
文件# 文件比上次文件,增长超过多少百分比触发重写 auto-aof-rewrite-percentage 100 # AOF文件体积最小多大以上才触发重写 auto-aof-rewrite-min-size 64mb
-
-
3、
RDB
和AOF
的对比RDB AOF 持久化方式 定时对整个内存做快照 记录每一次执行的命令 数据完整性 不完整,两次备份之间会丢失 相对完整,取决于刷盘策略 文件大小 会有压缩,文件提交小 记录命令,文件体积大 宕机恢复速度 很快 慢 数据恢复优先级 低,因为数据完整性不如AOF 高,因为数据完整性高 系统资源占用 高、大量CPU和内存消耗 低,主要是磁盘IO资源,但是AOF重写时会占用大量的CPU和内存资源 使用场景 可以容忍数分钟的数据丢失,追求快的启动速度 对数据安全性要求较高