Redis详解

缓存三大问题

1、缓存穿透:

问题:作用于为空的键上面,导致一直查询数据库
解决:设置为一个为空,或者0的数据,避免一直查询数据库,然后设置过期时间,避免一直查询不到

2、缓存雪崩:

问题:同一时刻导致大量的key失效,很多的用户访问的时候,大量作用于数据库,导致数据库崩溃
解决:对于不同的key设置不同的过期时间

3、缓存击穿:

问题:某个键在一刻失效,而又发生了大量的并发请求,导致全部到数据库,导致崩溃
解决:对于失效的key,在查询数据库前,进行加锁

redis加强redisson

redisson 介绍

介绍:内部集成了大量的加锁方式,

redisson锁的种类

普通锁
对于一个代码块,或者方法进行加锁,防止高并发访问同一个查询数据库,线程竞争锁是随机的
公平锁
对于一个代码块,或者方法进行加锁,防止高并发访问同一个查询数据库,线程竞争锁是顺序的,先到的线程先得锁
读写锁
允许多个线程进行读,但是写的时候只能一个线程写,其他线程不能读也不能写,在读的时候 也不能写
    用于:更新数据库值时,写缓存时,进行写锁更新
型号量
一次性设置好型号量初始值(5),在请求到型号量锁的时候进行得到锁,次数-1,在释放型号量时次数+1,型号量次数为0的时候,不能得到锁,就不能向下执行。
    可用于:限流,设置好流量,访问一个 -1
闭锁
模拟 CountDownLatch ,设置好初始化值,然后加锁等待,其他并发每一次访问进行-1,到减到0的时候,先等待的线程才能继续进行
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值