复制的内容

      1. Redis持久化工作原理

说明:按照配置的时间,定期将内存数据保存到redis中的持久化文件中.

当redis服务器宕机之后重启时,首先读取指定的持久化文件,恢复内存数据,方便用户使用.

      1. RDB模式

概念:

RDB模式是Redis中默认的持久化策略.保存的是redis的内存快照.

占用的资源少.持久化效率最高的.

RDB特点:

1.RDB模式能够定期持久化,但是有丢失数据的风险.

2.Redis中默认的持久化策略

3.RDB模式做内存的快照. 效率高

4.占用磁盘空间较小.

      1. RDB模式的配置
  1. 修改持久化文件名称

2.持久化文件目录设定

3.持久化策略

save 900 1      用户在900秒内做1次set操作时持久化1次

save 300 10     用户在300秒内做10次set草时持久化1次

save 60  10000        60秒内做10000次set 持久化一次

使用save持久化化时,如果执行持久化操作,则程序陷入阻塞.用户不能执行set.

      1. AOF模式

特点:

  1. AOF模式可以实现数据的实时持久化.
  2. 记录的是用户的操作过程.
  3. 持久化文件会比较大.
  4. 持久化效率低.
  5. AOF模式默认是关闭的
  6. AOF模式持久化是异步的.
      1. AOF模式持久化策略

1.开启AOF模式

  1. 修改持久化文件名称

  1. 持久化策略:

# appendfsync always  只要用户执行”更新”命令则持久化一次

appendfsync everysec  每秒持久化一次.

# appendfsync no     由默认的操作系统决定什么时候持久化.

 

      1. Redis缓存策略说明
  1. 如果有并发查询时.如果缓存服务器宕机/缓存失效.则查询数据库.可能导致数据库宕机. 俗称缓存雪崩.
  2. 如果用户,高并发查询一个不存在的数据时.后台数据库有宕机的风险.

俗称:缓存穿透   

限流 直至封杀IP地址. IP模拟器

  1. 如果高并发条件下.当某一个热点的key,超时或者失效时.数据库有宕机的风险.

俗称:缓存击穿

    1. Redis内存机制
      1. 业务需求

Redis中的数据都保存内存中.内存中的数据如果一味的新增,不删除则内存数据很快存满.导致新的数据保存错误.

需求:用户每次都能存储数据,但是内存大小是可控的.要求动态维护内存大小.

      1. Redis中内存策略
        1. LRU算法:

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

        1. LFU算法

LFU(least frequently used (LFU) page-replacement algorithm)。即最不经常使用页置换算法,要求在页置换时置换引用计数最小的页,因为经常使用的页应该有一个较大的引用次数。但是有些页在开始时使用次数很多,但以后就不再使用,这类页将会长时间留在内存中,因此可以将引用计数寄存器定时右移一位,形成指数衰减的平均使用次数。

LFU:根据数据使用的次数多少删除数据.

        1. 内存优化策略
  1. volatile-lru  

设定超时时间的数据采用LRU算法删除数据.

  1. allkeys-lru

 所有的数据采用LRU算法删除数据

  1. volatile-lfu

 设定了超时时间的数据采用LFU删除数据

  1. allkeys-lfu

 所有的数据采用LFU算法删除数据

  1. volatile-random

 设定了超时时间的随机删除

  1. allkeys-random

 所有key随机删除

  1. volatile-ttl

 设定了超时时间的数据排序.将马上要超时的数据提前删除.

  1. Noeviction

 不删除数据.如果内存数据存满则报错返回. 该策略是默认策略

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值