Redis缓存应用场景

记录一下自己的听课笔记,看的网课。

参考资料:https://zhuanlan.zhihu.com/p/157717158

常见应用场景

1 数据缓存

  缓存一些常用的、经常访问的、不经常变化的数据,也就是相对稳定即时性低的,比如说:菜单/权限/类别/数据字典。

2 文章点赞/阅读量

  这样的数据放缓存是因为文章的阅读量和点赞量变化太快了,如果频繁的更新数据库,数据库压力太大了,顶不住的。如果放到redis中缓存起来,读写更快。加入开启redis的数据持久化,就算redis崩掉也没事,因为数据都存到磁盘里面了,然后定时或者一定次数的写入数据库,同步数据就行了。就算数据丢了也没有问题,不是什么影响业务的数据。

3 密码错误

  假如有这样一种需求:限制24小时内密码只能错误5次,输入密码错误5次后就不让登录了。我们平常是不是有这样一种做法,在数据表里面加个字段记录一下这个人的错误次数,每次密码错误就更新错误次数,判断错误次数是否超出所限制的次数。这时候我们可以放到redis缓存里面使用用户名做key+次数做value记录一下这个人的尝试次数,设置有效期24小时。

4 微信公众号投票

  同密码错误场景一致

5 秒杀

  东西少并发高,如果直接访问数据库的话数据库顶不住。加上redis的话,我们可以把库存放到redis中存储,redis本身有一个单线程模型,可以来一个请求,我们访问一下数据库,如果库存没有了直接返回结果,不会再访问数据库了。

6 分布式锁

  Redis可用于实现分布式锁。为了确保分布式锁可用,至少锁的实现必须同时满足以下条件:

    1)互斥在任何时候,只有一个客户端可以持有该锁;

    2)不会发生死锁;

    3)锁定和解锁必须是同一客户端,并且该客户端无法解锁他人添加的锁。

7 分布式 Session

  使用Redis在其他存储上缓存会话的优点是Redis提供了持久性,目前很多解决方案都采用Redis作为会话存储解决方案。待补充。

posted @   大稳·杨  阅读(1552)  评论(0编辑  收藏  举报
编辑推荐:
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· 2 本地部署DeepSeek模型构建本地知识库+联网搜索详细步骤
点击右上角即可分享
微信分享提示