Redis

1、redis

  是一个高性能的 key-value 数据库

2、数据类型

  Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作

3、原子性

  Redis的所有操作都是原子性的,意思就是要么成功执行要么失败完全不执行。单个操作是原子性的。多个操作也支持事务,即原子性,通过MULTI和EXEC指令包起来。

4、持久化

RDB:在指定时间间隔将redis内存中的数据集快照(时间点)写入磁盘

RDB 是一个非常紧凑(compact)的文件,它保存了 Redis 在某个时间点上的数据集。 这种文件非常适合用于进行备份

如果你需要尽量避免在服务器故障时丢失数据,那么 RDB 不适合你

  • save方式触发,会导致阻塞;bgsave触发,可一边持久化,一边响应客户端的请求。子进程来处理保存工作,父进程继续响应请求而无需去关心I/O操作。

AOF:以日志的形式记录写操作(增量保存),将redis所有执行过的指令记录下来(读操作不记录),只许追加文件但不可以改写文件,redis重启时会读取该文件进行重新构建数据

换言之,redis重启会找到日志文件,从头到尾执行一遍指令恢复数据

AOF 的默认策略为每秒钟 fsync 一次,在这种配置下,Redis 仍然可以保持良好的性能,并且就算发生故障停机,也最多只会丢失一秒钟的数据( fsync 会在后台线程执行,所以主线程可以继续努力地处理命令请求)。AOF 文件是一个只进行追加操作的日志文件(append only log)

 

5、

缓存穿透:

 

 

 

 

缓存击穿:

 

 

 

缓存雪崩:

 

 

 

 

posted @ 2022-08-28 10:54  zhaoyanhao  阅读(31)  评论(0编辑  收藏  举报