1   Redis高级

1.1    Redis中持久化策略

1.1.1  Redis持久化规则

说明:根据redis的配置文件中所配置的持久化策略,定期持久化.将redis内存中的数据最终写入到持久化文件中.当redis意外关闭内存数据清空了.当redis重新启动时,根据配置文件中持久化文件的路径/名称,读取持久化文件.

从持久化文件中恢复内存数据.

1.2    RDB模式

说明:

  1. RDB模式是redis中默认的持久化策略.该模式能够定期(有时间间隔)将内存中的数据持久化到XXX.rdb文件中.
  2. 该模式的效率是最高的.相当于对内存做快照处理.
  3. 同时数据加密保存.
  4. 如果允许少量的数据丢失则首选RDB模式
  5. 持久化时间间隔

1.2.1  RDB模式持久化配置

save 900 1            900秒内执行一次set操作 则持久化1次 

save 300 10           300秒内执行10次set操作,则持久化1次

save 60 10000         60秒内执行10000次set操作,则持久化1次

  1. 持久化文件名称

 

  1. 持久化文件存储路径

 

如果需要修改持久化文件保存位置,则修改该文件 /绝对路径.

1.3    AOF模式

说明:

  1. AOF模式通过持久化文件记录了用户的全部的操作过程.该模式可以实现数据的实时备份.
  2. AOF模式中持久化文件会很庞大.不易于解析.
  3. AOF文件没有加密处理.

特点:

   如果对数据完整性有特殊要求,则采用AOF模式.

1.3.1  AOF模式配置

  1. 开启AOF模式  如果改为yes后,redis持久化策略采用AOF模式.

 

  1. AOF持久化文件名称

 

  1. 持久化策略

appendfsync always      该配置表示如果用户执行set操作,就持久化1次

appendfsync everysec    每秒持久化一次

appendfsync no          持久化化

  1. 文件存储

通过dir文件,执行持久化文件位置.

 

1.4    Redis中内存策略

1.4.1  需求描述

Redis中的数据都保存在内存中.如果内存中一直添加数据,则可能会造成内存填满,内存溢出的现象.需要控制redis的内存大小.

1.4.2  LRU算法

内存管理的一种页面置换算法,对于在内存中但又不用的数据块(内存块)叫做LRU,操作系统会根据哪些数据属于LRU而将其移出内存而腾出空间来加载另外的数据。

 

 

1.4.3  内存策略介绍

volatile-lru 在已经设定了超时时间的数据中,选择最少使用的数据进行删除.

allkeys-lru   选择全部值,采用LRU算法进行删除.

volatile-random 在设定了超时时间的数据中随机删除.

allkeys-random 在所以的key中随机删除.

volatile-ttl      在设定了超时时间的数据中,按照超时时间倒叙排列,删除马上过期的数据.

Noeviction(默认策略)      如果选择该模式,在不删除数据,则直接报错给用户.

1.4.4  内存策略修改

560行

 

posted on 2018-11-08 14:20  studyAnddaydayup  阅读(98)  评论(0编辑  收藏  举报