
Redis
M_Jack
这个作者很懒,什么都没留下…
展开
-
Redis缓存击穿,穿透,雪崩等问题,及解决方案
缓存穿透缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时被动写的,并且出于容错考虑,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到存储层去查询,失去了缓存的意义。在流量大时,可能DB就挂掉了,要是有人利用不存在的key频繁攻击我们的应用,这就是漏洞。解决方案有很多种方法可以有效地解决缓存穿透问题,最常见的则是采用布隆过滤器,将所有可能存在的数据哈希到...转载 2018-12-02 01:28:20 · 441 阅读 · 0 评论 -
Redis缓存穿透、缓存雪崩、redis并发问题分析
把redis作为缓存使用已经是司空见惯,但是使用redis后也可能会碰到一系列的问题,尤其是数据量很大的时候,经典的几个问题如下:(一)缓存和数据库间数据一致性问题分布式环境下(单机就不用说了)非常容易出现缓存和数据库间的数据一致性问题,针对这一点的话,只能说,如果你的项目对缓存的要求是强一致性的,那么请不要使用缓存。我们只能采取合适的策略来降低缓存和数据库间数据不一致的概率,而无法保证两...转载 2018-12-02 01:33:48 · 182 阅读 · 0 评论 -
分布式锁简单入门以及三种实现方式介绍
很多小伙伴在学习Java的时候,总是感觉Java多线程在实际的业务中很少使用,以至于不会花太多的时间去学习,技术债不断累积!等到了一定程度的时候对于与Java多线程相关的东西就很难理解,今天需要探讨的东西也是一样的和Java多线程相关的!做好准备,马上开车!学过Java多线程的应该都知道什么是锁,没学过的也不用担心,Java中的锁可以简单的理解为多线程情况下访问临界资源的一种线程同步机制。...转载 2018-12-04 01:24:18 · 152 阅读 · 0 评论 -
基于Redis的简单分布式锁的原理
使用场景: 在tomcat集群环境下,有任务调度,也就是定时任务 同一时间多个tomcat执行同一个任务,如定时关单. 如果有大量订单需要关闭,则每个tomcat都会执行相同数量的关单sql, 这样是非常浪费资源的,如果还有相应的记录的话 则会导致重复记录的出现. 这个时候redis分布式锁就派上用场了,通过这个锁,可以随机的让单个tomcat去执行关单操作,而其余的tomcat则不会执...转载 2018-12-04 01:39:53 · 211 阅读 · 0 评论