Redis缓存是怎么用的|青训营笔记
这是我参与「第五届青训营」伴学笔记创作活动的第20天
在后面会依次倒叙回顾之前的学习课程,便于复习~
一、课程重点内容
- Redis原理
- Redis案例与基本数据结构
- 注意事项
下面是对课程重点内容的思考与总结,有问题或者错误,可以批评指正呐~
二、Redis原理
-
概念
Redis是现在最受欢迎的NoSQL数据库之一,Redis是一个使用ANSI C编写的开源、包含多种数据结构、支持网络、基于内存、可选持久性的键值对存储数据库,其具备如下特性:
- 基于内存运行,性能高效
- 支持分布式,理论上可以无限扩展
- key-value存储系统
- 开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API
-
背景
相比于数据库而言,缓存的操作性能更高,缓存性能高的主要原因有以下几点:
- 缓存一般都是key-value查询数据的,因为不像数据库一样还有查询的条件等因素,所以查询的性能一般会比数据库高;
- 缓存的数据是存储在内存当中的,而数据库的数据是存储在磁盘当中的,因为内存的操作性能远远大于磁盘,因此缓存的查询效率会高很多;
- 缓存更容易做分布式部署(当一台服务器变成多台相连的服务器集群),而数据库一般比较难实现分布式部署,因此缓存的负载和性能更容易平行扩展和增加。
-
原理
-
数据从内存中读写
-
数据保存到硬盘防止数据丢失
- AOF文件
- RDB文件
-
单线程处理所有操作命令
-
三、Redis的应用案例
-
连续签到
-
消息通知
-
计数
-
排行榜
-
限流
-
分布式锁
四、注意事项
-
大Key、热Key
-
慢查询
-
缓存穿透
-
缓存雪崩
五、课程总结
水能载舟,亦能覆舟,如果能够使用好redis缓存将会给系统带来无比强大的刷新速度,但是做不好就是系统崩溃,以后还得继续实践操作一些redis缓存项目的例子,加深自己的理解。