• 2024-09-27Redis实战篇
    Redis实战篇涵盖内容如下:1、导入黑马点评项目当前模型1.1导入SQL1.2导入后端项目解压到工作台,用idea打开即可注:不要忘了修改application.yaml文件中的mysql、redis地址信息测试启动项目后,在浏览器访问:http://localhost:8081/shop-type/list,如果可以看
  • 2024-09-25redis
    Redis1几乎覆盖了Memcached的绝大部分功能2数据都在内存中,支持持久化,主要用作备份恢复3除了支持简单的key-value模式,还支持多种数据结构的存储,比如list、set、hash、zset等。4一般是作为缓存数据库辅助持久化的数据库MongoDB1高性能、开源、模式自由(schemafree)的
  • 2024-09-14SpringBoot集成Redis以及StringRedisTemplate的使用
    引言该篇文章介绍了在SpringBoot项目中,集成了Redis,Redis提供了RedisTemplate的扩展StringRedisTemplate,用于对字符串的操作,使用StringRedisTemplate,不需要(写RedisConfig)额外设置序列化。不过存取对象需要自己序列化、反序列化。本文会介绍配置,以及连接Redis,还有使用的部分代
  • 2024-08-13Redis 实现分布式锁
    目录Redis实现分布式锁及续约机制详解1、Redis分布式锁的基本实现2、引入守护线程[看门狗机制】Redis实现分布式锁及续约机制详解在分布式系统中,多个节点对同一资源的访问可能会产生竞争,为了解决这个问题,我们需要一种机制来保证同一时间内只有一个节点可以访问资源,
  • 2024-08-11Redis5-缓存
    目录什么是缓存添加Redis缓存缓存更新策略三种策略数据库和缓存不一致的解决方案缓存穿透缓存雪崩缓存击穿缓存工具封装什么是缓存缓存是数据交换的缓冲区(Cache),是存贮数据的临时地方,一般读写性能较高多级缓存:浏览器缓存:主要是存在于浏览器端的缓存应用层缓存:可以
  • 2024-08-10Spring Boot集成Redis
    目录1.Redis简介2.添加依赖3.项目配置4.使用RedisStringTestSetTestListTestHashTestZSetTest5.测试结果1.Redis简介Redis是一款基于内存的使用K-V结构存取数据的NoSQL非关系型数据库。Redis的主要作用就是缓存数据,通常,会将关系型数据库(例如MySQL等)中的数据读
  • 2024-08-03定制直播软件,分布式锁的演进你了解多少?
    定制直播软件,分布式锁的演进你了解多少?分布式锁的演进基本原理我们可以同时去一个地方“占坑”,如果占到,就执行逻辑。否则就必须等待,直到释放锁。“占坑”可以去redis,可以去数据库,可以去任何大家都能访问的地方。等待可以自旋的方式。阶段一 publicMap<String,L
  • 2024-07-29Lua脚本解决Redis 分布式锁
    Redis分布式锁由于判断锁和释放锁是两个步骤,在判断一致后如果线程阻塞导致锁超时释放。之后阻塞结束,当前线程继续执行释放了其它线程的锁。锁设计失败解决方法:通过lua封装比较和释放锁两个步骤:要么同时成功,要么同时失败我的疑问?为什么不对判断和释放锁两个步骤再加锁@Over
  • 2024-07-27基于redis实现分布式锁
           分布式锁1.基于redis实现分布式锁注意:这里设置过期时间,是为了预防死锁。如果某个线程获取了锁,但还没等它执行完业务,释放锁。服务器就宕机了,那么就不会有人再去释放锁,出现了死锁问题。简单业务代码:publicinterfaceILock{booleantryLock(longt
  • 2024-07-06Redis 高阶应用
    生成全局唯一ID全局唯一ID需要满足以下要求:唯一性:在分布式环境中,要全局唯一高可用:在高并发情况下保证可用性高性能:在高并发情况下生成ID的速度必须要快,不能花费太长时间递增性:要确保整体递增的,以便于数据库创建索引安全性:ID的规律性不能太明显,以免信息泄
  • 2024-05-25Redis 高阶应用
    生成全局唯一ID全局唯一ID需要满足以下要求:唯一性:在分布式环境中,要全局唯一高可用:在高并发情况下保证可用性高性能:在高并发情况下生成ID的速度必须要快,不能花费太长时间递增性:要确保整体递增的,以便于数据库创建索引安全性:ID的规律性不能太明显,以免信息泄露从上面的
  • 2024-05-19redis存储之序列化问题
    1.问题描述:在SpringBoot集成Redis过程中,添加进redisf的内容如下2.出现这种情况的原因(1) 键和值都是通过Spring提供的Serializer序列化到数据库的(2) RedisTemplate默认使用的是JdkSerializationRedisSerializer,StringRedisTemplate默认使用的是StringRedisSerializer3.解
  • 2024-04-12springboot集成redis
    首先引入依赖<!--redis坐标--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency>在yml中引入redis数据库spring
  • 2024-03-14Spring-Redis 使用
    基本类型:String存储数据:stringRedisTemplate.opsForValue().set("key","value");获取数据:Stringvalue=stringRedisTemplate.opsForValue().get("key");设置数据的过期时间(单位为秒):stringRedisTemplate.expire("key",60,Tim
  • 2023-12-17Session
     Java中的Session是一种用于跟踪用户状态(根据session是否存在信息判断登录状态)和在多个请求之间共享数据(存在session对象的信息)的机制。用户短信验证码登录是基于sesion登录的,发请求访问Tomcat的时候,sessionid已经自动写到cookie中,以后再请求都会带着这个sessionid,就可以找
  • 2023-10-11Redis的Java客户端——SpringDataRedis、RedisTemplate、StringRedisTemplate
     版权声明:本文为CSDN博主「我爱布朗熊」的原创文章,遵循CC4.0BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/weixin_51351637/article/details/127502799一、初步了解SpringDataRedisSpringData是Spring中数据操作的模块,包括对各种数据库的集
  • 2023-10-06Redis学习之缓存雪崩、缓存击穿及封装Redis工具类
    缓存雪崩缓存雪崩是指在同一时段大量的缓存key同时失效或者Redis服务宕机,导致大量请求到达数据库,带来巨大压力。解决思路:1.不让key同时失效2.尽量不让Redis宕机具体解决方案:缓存击穿又叫热点key失效:两种解决方案:1.互斥锁:只有一个线程会负责缓存重建,其余线程拿不到锁,就
  • 2023-10-01springboot 与 Redis整合
    SpringBoot操作数据:Spring-datajpajdbcmongodbredis!SpringData也是和SpringBoot齐名的项目!说明:在SpringBoot2.X之后,原来使用的jedis被替换成了lettucejedis:采用的直连,多个线程操作的话,是不安全的,如果想要避免不安全的,使用jedispool连接池,更新BIO模式lettuce:采用ne
  • 2023-09-18Redis学习之共享session(单点登录)
    介绍为什么需要共享session?防止多个后端服务器的数据存储不一致,导致用户访问时出现未登录的情况。如何实现共享session?使用独立的内存存储来存放session实现key如何设计?为了安全性,随机生成token,而不是拼接用户信息,防止恶意伪造或爆破。选择何种value数据结构存放用户信
  • 2023-09-14lua操作redis
    参考:https://blog.csdn.net/weixin_54721305/article/details/125648123实现分布式锁依赖<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId>
  • 2023-09-11redis-实战篇-商户查询缓存
    基本思路添加缓存的原则:动态数据不要加缓存缓存cache:数据交换的缓冲区。一般读写性能较高。比如浏览器缓存,浏览器会将一些经常使用的数据缓存到本机,这样在多次加载时就不需要访问服务器,而浏览器未命中的缓存则会去tomcat获取。缓存的作用:降低后端负载、提高读写效率、降低响应
  • 2023-08-18微服务集成redis并通过redis实现排行榜的功能
    默认你已经看过我之前的教程了,并且拥有上个教程完成的项目,之前的教程 https://www.cnblogs.com/leafstar/p/17638933.html由于redis的安装网上教程很多,再次不再赘述,现在默认你已经安装好了redis 1.在需要redis的微服务下面添加下面依赖<dependency><groupId>org.spri
  • 2023-08-15基于Redis的分布式锁
    在多线程的环境下,为了保证一个代码块在同一时间只能由一个线程访问,Java中我们一般可以使用synchronized语法和ReetrantLock去保证,这实际上是本地锁的方式。但是现在公司都是流行分布式架构,在分布式环境下,如何保证不同节点的线程同步执行呢?实际上,对于分布式场景,我们可以使用分布式
  • 2023-08-08redis实战-商城系统
    本文主要基于黑马的redis视频编写redis实战-商城系统短信登录:使用redis共享session来实现商户查询缓存:理解缓存击穿,缓存穿透,缓存雪崩等问题优惠卷秒杀:Redis的计数器功能,结合Lua完成高性能的redis操作,同时了解Redis分布式锁的原理,包括Redis的三种消息队列附近的商户
  • 2023-08-06Spring boot集成Redis
    在开发中,放到缓存中的数据我们都要给过期时间,使其可以在系统即使没有主动更新数据也能自动触发数据加载的流程,避免业务奔溃导致的数据永久不一致的问题1、引入依赖<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-