Redis缓存是怎么用的|青训营笔记

107 阅读2分钟

Redis缓存是怎么用的|青训营笔记

这是我参与「第五届青训营」伴学笔记创作活动的第20天

在后面会依次倒叙回顾之前的学习课程,便于复习~

一、课程重点内容

  • Redis原理
  • Redis案例与基本数据结构
  • 注意事项

下面是对课程重点内容的思考与总结,有问题或者错误,可以批评指正呐~

二、Redis原理

  • 概念

    Redis是现在最受欢迎的NoSQL数据库之一,Redis是一个使用ANSI C编写的开源、包含多种数据结构、支持网络、基于内存、可选持久性的键值对存储数据库,其具备如下特性:

    • 基于内存运行,性能高效
    • 支持分布式,理论上可以无限扩展
    • key-value存储系统
    • 开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API
  • 背景

    相比于数据库而言,缓存的操作性能更高,缓存性能高的主要原因有以下几点:

    • 缓存一般都是key-value查询数据的,因为不像数据库一样还有查询的条件等因素,所以查询的性能一般会比数据库高;
    • 缓存的数据是存储在内存当中的,而数据库的数据是存储在磁盘当中的,因为内存的操作性能远远大于磁盘,因此缓存的查询效率会高很多;
    • 缓存更容易做分布式部署(当一台服务器变成多台相连的服务器集群),而数据库一般比较难实现分布式部署,因此缓存的负载和性能更容易平行扩展和增加。
  • 原理

    • 数据从内存中读写

    • 数据保存到硬盘防止数据丢失

      • AOF文件
      • RDB文件
    • 单线程处理所有操作命令

image-20230218135039373.png

三、Redis的应用案例

  • 连续签到

  • 消息通知

  • 计数

  • 排行榜

  • 限流

  • 分布式锁

四、注意事项

  • 大Key、热Key

  • 慢查询

  • 缓存穿透

  • 缓存雪崩

五、课程总结

水能载舟,亦能覆舟,如果能够使用好redis缓存将会给系统带来无比强大的刷新速度,但是做不好就是系统崩溃,以后还得继续实践操作一些redis缓存项目的例子,加深自己的理解。