前言
此博客用于记录学习 Redis 缓存,此文提到的缓存都为 Redisi 对于缓存的应用。
一、什么是缓存
缓存就是数据交换的缓冲区,是贮存数据的临时地方,一般读写性能较高。
二、缓存的作用
缓存可以降低后端负担,提高读写效率,降低响应时间。有缓存的话,用户在访问页面时资源加载的快一些。
但是利用缓存也有一些问题,就是数据一致性问题,代码维护问题和运维成本问题。
数据一致性是指数据在缓存中和数据库中的数据要一致。在用户访问一个资源的时候,缓存中的值为1,但是数据库此时突然改为2,那么数据就不一致了,用户访问到的实际数据就是错误的。为了解决这个问题,还得考虑到怎么保持数据一致性,也就有了更新策略。
三、更新策略
内存淘汰 | 超时剔除 | 主动更新 | |
---|---|---|---|
说明 | 不用自己维护,利用 Redis 的内存淘汰机制,当内存不足时自动淘汰部分数据。下次查询时更新缓存 | 给缓存数据添加TTL时间,到期后自动删除缓存。下次查询时更新缓存。 | 编写业务逻辑,在修改数据库的同时,更新缓存 |
一致性 | 差 | 一般 | 好 |
维护成本 | 无 | 低 |