redis
文章平均质量分 89
李沐泽
学习阶段,欢迎大家来讨论 QQ:3092455245.微博发表出错地方,望各位大佬指正。谢谢
展开
-
Redis实战——短信登录(一)
集群部署的tomcat又面临新的问题,即session共享问题,由于每个tomcat都有一份属于自己的session,某个用户第一次访问tomcat时,把自己的信息存放到了编号01的tomcat服务器的session中,当第二次访问时,没有访问01服务器,而是访问到了其他tomcat服务器,而其他tomcat服务器没有该用户存放的session,此时整个登录拦截都会出现问题。用户发送请求时,会从cookie中携带JsessionId到后台,后台通过JsessionId从session中获取用户信息,原创 2023-06-30 18:23:04 · 217 阅读 · 0 评论 -
Redis实战——商户查询(一)
应该先操作数据库,在删除缓存,因为我们先删除缓存,在操作数据库,假设两个线程并发访问时,线程1先进入,它先删除了缓存,还没操作数据库呢,线程2进来进行查询,它查询缓存数据并不存在,于是它从数据库中获取数据,并写入缓存,当线程2写入缓存后,线程1才完成数据库的更新操作,那么这个时候,数据库的数据是新数据,缓存的数据还是旧数据,会造成数据不一致问题。在没有缓存时,查询商户信息,我们直接操作从数据库中去进行查询,但是从数据库中查询肯定是个耗时操作。经综合考虑,一般采用方案一,采用方案一时,需要考虑的问题。原创 2023-07-04 14:03:32 · 127 阅读 · 0 评论 -
Redis实战——商户查询(二)
当客户端请求不存在的数据时,请求先经过redis,redis中没有该数据,则进行数据库访问,但是发现数据库中也没有该数据,因为数据库能够承受的并发量有限,若大量的请求访问的都是这种不存在的数据,则都会访问到数据库,对数据库的压力很大,而缓存空对象的解决方案就是不管数据库中被访问的数据存在还是不存在,都将该数据写入缓存中,不存在的写入缓存时,其value置空即可,这样,下次用户过来访问这个不存在的数据时,redis缓存中也能找到该数据,不会访问到数据库。如果布隆过滤器判断不存在,则直接返回。原创 2023-07-05 18:16:57 · 159 阅读 · 0 评论 -
Redis实战——商户查询(三)
基于StringRedisTemplate封装一个缓存工具类- 将任意Java对象序列化为json并存储在string类型的key中,并且可以设置TTL过期时间- 将任意Java对象序列化为json并存储在string类型的key中,并且可以设置**逻辑过期时间**,用于处理缓存击穿问题- 根据指定的key查询缓存,并反序列化为指定类型,利用**缓存空值**的方式解决缓存穿透问题- 根据指定的key查询缓存,并反序列化为指定类型,需要利用**逻辑过期**解决缓存击穿问题- 根据指定的key查询缓原创 2023-07-06 16:05:09 · 208 阅读 · 0 评论