Redis中内存溢出问题和持久化方法

发布时间:2020-07-02 04:47:23 作者:wx5d81cde3a38cf
来源:网络 阅读:340

一、内存溢出问题

解决办法

  1. 设置key的过期时间 2. 按需求使用8种数据淘汰策略

  2. volatile-lru(Least Recently Used):从已设置过期时间的数据集中挑选最近最少使用的数据淘汰

  3. volatile-lfu(Least Frequently Used):从已设置过期时间的数据集中挑选一段时间内使用频率最少的数据淘汰

  4. volatile-ttl(Time To Live):从已设置过期时间的数据集中挑选将要过期的数据淘汰

  5. volatile-random:从已设置过期时间的数据集中随机选择数据淘汰

  6. allkeys-lru:从数据集中挑选最近最少使用的数据淘汰

  7. allkeys-lfu:从所有Keys中挑选一段时间内使用频率最低的数据淘汰

  8. allkeys-random:从数据集中随机选择数据淘汰

  9. no-envicition(驱逐):禁止驱逐数据,针对写操作,返回错误信息(不采用任何淘汰策略,默认即此配置)

Redis中内存溢出问题和持久化方法

二、持久化方法

方式一:RDB 简介

优点

  1. 快照保存数据极快,还原数据极快

  2. 适用于灾难备份

缺点

  1. 小内存及其不适合使用

  2. 符合快照条件才会进行快照,意外宕机会丢失最后一次快照后的所有修改

*快照条件**

  1. Redis服务器正常关闭:./bin/redis-cli shutdown

  2. 配置文件中设置的条件

Redis中内存溢出问题和持久化方法

方式二:AOF 原理简介

  1. redis会将每一个收到的命令都通过write函数追加到文件中(默认是appendonly.aof), 当redis重启时会通过重新执行文件中保存的“写命令”来在内存中重建整个redis数据库中的内容

Redis中内存溢出问题和持久化方法

2. 每当执行服务器(定时)任务或者函数时flushAppendOnlyFile 函数都会被调用, 这个函数执行以下两个工作:

优点

持久化比RDB更好,不会丢失任何的修改

缺点

推荐阅读:
  1. redis持久化问题处理
  2. Redis持久化

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

java redis 数据库

上一篇:配置文档的NTFS权限

下一篇:cocos2d-X   CCSprite设置贴图(图片)大小

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》