![](https://img-blog.csdnimg.cn/direct/1090443c5c3a4050a0cc47f3468fe473.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
缓存
文章平均质量分 75
存贮数据(使用频繁的数据)的临时地方。当用户查询数据,首先在缓存中寻找,如果找到了则直接执行。如果找不到,则去数据库中查找。
missterzy
世界上没有做不到的事
只有不想去完成的事
可惜我比较懒
展开
-
Redis在项目中的17种使用场景
Redis 是一个开源的高性能键值对数据库,它以其内存中数据存储、键过期策略、持久化、事务、丰富的数据类型支持以及原子操作等特性,在许多项目中扮演着关键角色。以下是V哥整理的17个Redis在项目中常见的使用场景:缓存:Redis 可以作为应用程序的缓存层,减少数据库的读取压力,提高数据访问速度。会话存储:在 Web 应用中,Redis 可以用来存储用户的会话信息,如登录状态、购物车内容等。消息队列:Redis 可以作为消息队列系统,用于处理异步任务,例如邮件发送、后台任务处理等。原创 2024-07-10 15:00:00 · 1209 阅读 · 0 评论 -
Springboot项目中使用Redis作为消息队列
现在在软件开发中,消息队列扮演着至关重要的角色,它帮助我们解耦系统组件,实现异步处理,提高系统的可扩展性和弹性。Redis,这个著名的键值存储系统,不仅仅限于数据缓存,其灵活的数据结构和快速的内存操作也使其成为构建轻量级消息队列的理想选择。轻量级:易于部署和维护,特别适合小规模或快速原型开发。高性能:基于内存的操作,极低的延迟。灵活性:多种数据结构适应不同场景。集成简便:对于已使用Redis作为缓存的系统。消息丢失风险:特别是使用List结构时,消息未被确认即可能丢失。原创 2024-07-06 17:15:00 · 338 阅读 · 0 评论 -
SpringBoot+AOP+Redis自定义注解实现防重复提交
*** 防重复提交切面类*/@Aspect@Component@Resource/*** 切入点定义:指明要在什么样的条件下才能被触发* @Pointcut注解表达式, 通过特定的规则来筛选连接点, 就是Pointcut,选中那几个你想要的方法* @annotation:条件:当执行的方法上拥有指定的注解时生效*//*** 环绕通知,围绕着方法执行* @return*/try {= null;// 被拦截的方法// 注解信息。原创 2024-06-21 17:30:00 · 340 阅读 · 0 评论 -
Redis分布式锁详解及电商秒杀功能示例
Redis分布式锁是一种在分布式系统中,利用Redis的原子操作特性实现的锁机制,用于保护共享资源的并发访问。原创 2024-06-16 15:00:00 · 709 阅读 · 0 评论 -
SpringBoot 实现两级缓存
创建一个配置类来设置 Redis 缓存管理器:• 配置:定义一个。原创 2024-06-11 14:30:00 · 1317 阅读 · 0 评论 -
Redis 经典面试题解析
Redis 作为一款高性能的 NoSQL 数据库,在各大互联网公司中都有着广泛的应用。在面试中,Redis 也是一个考察重点。本文将整理一些大厂 Redis 经典面试题,并提供详细的答案解析,帮助大家更好地备战面试。1. Redis 的五种基本数据类型是什么? String: 字符串,可以存储任何文本数据,例如姓名、年龄、地址等。String 类型是 Redis 中最简单的数据类型,也是使用最广泛的数据类型。 Hash: 哈希表,可以存储键值对,例如用户ID 和用户信息、商品ID 和原创 2024-06-09 20:30:00 · 755 阅读 · 0 评论 -
Spring Boot 3:使用自定义注解、拦截器和Redis实现高并发接口限流
通过限制每秒的请求次数,可以保护服务器资源,防止因瞬时大量请求导致的崩溃或性能下降。通过结合自定义注解、拦截器和Redis,我们可以实现灵活且高效的限流机制,适应不同场景的需求。在高并发系统中,接口限流是一种重要的手段,可以有效防止系统过载。我们将使用SpringBoot 3来实现这一功能,通过自定义注解和拦截器,结合Redis来存储和管理请求数据,从而实现动态的限流控制。通过本文的介绍,我们学习了如何在SpringBoot 3中使用自定义注解、拦截器和Redis来实现高并发接口限流。原创 2024-05-30 13:52:37 · 338 阅读 · 0 评论 -
Redis分布式锁,彻底解决接口幂等性问题。
Component// 自定义业务keys// 租赁时间 单位:毫秒// 等待时间 单位:毫秒。原创 2024-05-28 16:00:00 · 517 阅读 · 0 评论 -
Linux环境安装Redis
或者 redis-server /opt/redis-stable/redis.conf。因为默认情况下,redis不作为守护程序运行,我们只要终止redis的命令行界面的运行就行。#解压文件 注意:-C 指定解压到的位置,这里我解压到/opt下。#不要关闭启动redis服务的窗口,重新开启一个命令行窗口,在新的窗口输入。#要检查redis服务是否正常工作,我们可以发送ping命令测试。我们可以在启动redis-server的窗口,直接按。#停止redis服务。来停止redis服务。原创 2023-05-18 15:49:12 · 51 阅读 · 1 评论 -
超实用!SpringBoot + Redis 实现「查找附近的人」
Spring Data Redis中的一个类,用于表示距离。为了用更少的代码片段让大家一目了然,所以都写在controller中,应用在项目里面时最好把其中的实现部分都转移到service中。:Spring Data Redis中的一个类,用于表示地理位置查询的结果。:Spring Data Redis中的一个类,用于表示圆形区域。:新的经度值或查询附近的人时指定的中心经度。:新的纬度值或查询附近的人时指定的中心纬度。:要更新位置信息或查询附近的人的用户ID。编写一个获取附近的人的接口。原创 2023-11-03 10:42:22 · 91 阅读 · 0 评论 -
Redis 操作方法
Redis 有五大数据类型:String(字符串)、Hash(字典)、List(列表)、Set(集合)、SortedSet(zset)(有序集合)。如果想要 Redis 以后台方式运行,需要修改 Redis 的配置文件:redis.conf。启动 Redis:进入 redis 安装目录,执行下面命令启动 redis 服务。获取 Redis 目录可以使用 CONFIG 命令,如下所示:。进入 Redis 安装目录,执行下面命令启动 Redis 服务。的良好补充,但是不能替代关系型数据库。原创 2023-11-03 23:14:20 · 53 阅读 · 0 评论 -
Redisson 分布式锁
这里通过简单的抢购茅台的例子来演示锁,Redisson分布式锁可以用于单体或者微服务,它是借助redis中间件来加锁,如上内容我们可以创建多个微服务实例,然后调用接口结果也是一样的。❝记住:在限时抢购活动中,大量用户通过网络同时请求购买同一个商品,可能导致系统出现并发抢购的情况,从而会导致商品售罄或者超卖等问题。这种情况下一定要用锁,不管是单体应用还是微服务。❞。原创 2023-11-03 23:17:56 · 125 阅读 · 0 评论 -
SpringBoot + Redis 打造排行榜功能
Redis的Sorted Set数据结构,它能够自动维护元素的顺序(按分数排序),这样你可以轻松地实现排行榜功能,用于其他需要按分数排序的功能也非常适合。原创 2023-11-09 13:45:00 · 408 阅读 · 0 评论 -
基于Redis实现短信登录功能
用户输入手机号:用户在前端页面输入手机号,并请求发送验证码。后端生成验证码:后端接收到请求后,生成一个随机的验证码。发送验证码:后端将验证码通过短信服务发送到用户的手机上。用户输入验证码:用户收到验证码后,在前端页面输入。后端验证验证码:用户提交验证码,后端验证其正确性。登录成功或失败:根据验证码的正确性,后端返回登录成功或失败的信息。通过Redis来存储和验证短信登录的验证码,可以提高应用的性能和安全性。java结合库可以方便地实现这一功能。在实现过程中,还需要注意安全性的考虑,确保用户的数据安全。原创 2024-05-19 22:00:00 · 665 阅读 · 0 评论 -
多级缓存设计和实战应用
文章导读生活场景星期四的上午,布布和一二在家里畅谈人生。突然觉得生活太乏味,一二提出要去吃一碗新鲜的麻辣烫。于是他们来到一家当地有名的麻辣烫店。刚进门,店里摆放了一个自助取餐具柜。当时排队人数较多,如果大家都从取餐柜中拿餐盘,每个人都需要开一次柜取一个。这样开柜门、关柜门都需要消耗不必要的时间。但是当我们把餐具摆到外边,大家随手可以获取。这样可以避免频繁的开关柜门,从而节省很多时间。过程描述如下:顾客从外放的餐具处拿餐具(缓存)原创 2024-05-24 09:09:50 · 594 阅读 · 0 评论 -
Redis缓存雪崩、穿透、击穿、预热及解决方案
指在一个高并发的系统中,由于大量的缓存数据在同一时间段内过期或失效,导致大量请求无法从缓存中获取数据,因此大量并发请求可能导致数据库服务器过载,甚至宕机,从而引发整个系统崩溃。一句话,就是查询一条根本没有的记录。它既不存在于redis中,也不存在数据库中。一般我们的查询顺序是先查redis、再查数据库。每次请求最终都会访问到数据库。造成数据库访问压力。这种现象叫缓存穿透。一句话,就是热点key突然失效了,大量请求暴击数据库。关键词:大量请求、同一个热点key、正好失效。原创 2024-05-24 09:15:18 · 1381 阅读 · 0 评论