/mz-redisUtil

自己封装的redis高级工具类(缓存穿透,雪崩,击穿)的落地实现

Primary LanguageJava

开源框架的一部分

封装了redis八股文中经典的几个面试题缓存穿透缓存雪崩缓存击穿的几个落地实现

API文档

文档风格参考这样的

image-20220809151548141

这部分文档,我更想写成说明书一样,类似于讲这个这个人他会(方法),你给他(参数),他吐给你(T),就你怎么给他,给他啥,然后再大概写下实现的逻辑

缓存穿透

###缓存不存在的key(getPassThrough)

###布隆过滤(待实现)

缓存雪崩

hash一致性和hash环(待实现)

缓存击穿

场景:某一个key失效了,但是这一瞬间来了很多请求,都来重新走那条路查sql-->写redis

通过setNx,定义一个锁,谁拿到锁谁去查和写

###互斥锁(getWithMutex)

没拿到锁就等着,直到redis中有数据

逻辑过期(getWithLogicalExpire)

没拿到锁就返回旧的数据

场景:秒杀获取商品信息

下步计划

  • 布隆过滤的落地实现
  • hash一致性的落地实现
  • beanCopy那块重构一下
  • 注释转到这边文档里
  • 找些开发框架的书,研究下多态怎么个多态适合(现在多态的真臃肿)