在ubuntu环境下安装redis
更新apt-get
sudo apt-get install update
sudo apt-get install redis-server
安装完成后测试是否安装成功
redis-cli
redis的配置文件位置:/etc/redis/redis.conf
配置文件常用参数解释:
daemonize yes #是否后台启动redis,配置为yes
port 6379 #redis端口号
bind 127.0.0.1 #只能本机访问redis,如果需要远程访问,需要把这行注释掉(官方建议只能本地访问)
logfile /var/log/redis/redis-server.log #log文件输出位置
dbfilename dump.rdb #快照文件名称
dir /var/lib/redis #快照文件保存路径
requirepass password #配置密码
#快照保存频率
save 900 1 #900秒有一个key写入则保存
save 300 10 #300秒有十个key写入则保存
save 60 10000 #60秒内有一万个key写入则保存
如果服务器突然断电,会导致部分数据丢失.所以出现Append Only File(AOF) 追加持久化
开启 AOF(注意开启AOF后,重启服务旧数据会清除)
appendonly yes
AOF备份文件名称
appendfilename "appendonly.aof
AOF备份频率
#appendfsync always
appendfsync everysec
# appendfsync no
always : 每次收到写指令就强制写入磁盘,最慢的,但是保证持久化,不推荐使用
everysec:每秒执行一次,如果一秒钟有五十次写指令,就只备份一次,推荐使用
no:完全依赖OS,性能最好,持久化没保证.当服务器空闲时保存一次,服务器比较繁忙时就不保存.
由于AOF会将每次的set指令保存,导致备份文件过大,需要手动执行BGREWRITEAOF.
AOF文件内容如下:
$4
name
$4
afei
*3
$3
set
$4
name
$8
xiaoming
*3
$3
set
$4
name
$8
xiaohong
每次手动执行BGREWRITEAOF命令比较麻烦,在服务器添加定时任务
写一个脚本
brgewriteaof.sh
内容如下:
#!/bin/bash
/usr/local/redis/redis-cli -p 6379 -h 127.0.0.1 BGREWRITEAOF
添加权限
chmod 755 brgewriteaof.sh
设定任务计划,每天凌晨2点跑一次
0 2 * * * /opt/brgewriteaof.sh
每次重启redis-server记得保存快照,否则导致数据丢失
bgsave