过期与持久化

Redis 教程 · 第 6 章 · 8 次浏览

Redis 数据在内存,两个问题必须处理:过期清理(防止内存爆掉)和持久化(防止重启丢数据)。

过期

EXPIRE key 秒数 设置过期;SETEX 一步设置值和过期;TTL 查剩余。过期策略:惰性删除(访问时查)+ 定期删除(周期扫描)。

持久化两种方式

  • RDB(快照):定时把内存数据存盘,文件小、恢复快,可能丢最后一次快照后的数据
  • AOF(追加日志):记录每次写命令,丢数据少,文件大
  • 生产常用:两者结合

代码示例

# 过期
SET temp "临时数据"
EXPIRE temp 60
TTL temp            # 剩余秒

SETEX code:login 300 "8888"    # 值 + 300 秒过期一步完成

# 持久化配置(redis.conf)
# save 900 1          15分钟内有1次写就存 RDB
# appendonly yes      开启 AOF
# appendfsync everysec  每秒刷盘

# 手动存盘
SAVE            # 同步阻塞
BGSAVE          # 后台异步

# 查看信息
INFO persistence
📚 Shell 命令速查
常用条目速查,完整版见对应教程章节。可复制代码到在线运行中测试。
写法 / 语法作用
ls / ls -la列出文件(-la 显示隐藏和详情)
cd 目录切换目录
pwd显示当前目录
mkdir -p 目录创建目录(-p 自动建父级)
touch 文件创建空文件
cp -r 源 目标复制(-r 递归复制目录)
mv 源 目标移动 / 重命名
rm -rf 目录删除(危险,慎用)
cat 文件查看文件内容
less 文件分页查看文件(q 退出)
grep "关键词" 文件按关键词搜索
find . -name "*.php"按名称查找文件
chmod 755 文件修改权限
ps aux查看进程
kill 进程号结束进程
top实时资源监控
df -h / free -m磁盘 / 内存占用
tar -czf a.tar.gz 目录打包压缩
tar -xzf a.tar.gz解压
curl 网址请求网址(测试接口)
wget 网址下载文件
ssh 用户@主机远程登录
scp 文件 用户@主机:/路径远程传文件
sudo 命令以管理员执行
crontab -e编辑定时任务