当前位置: 首页 > article >正文

Redis登录校验

登录拦截器

第一个拦截器只是确保一切请求都要进行token刷新的大动作

第二个拦截器从ThreadLocal中获取user用户

缓存一致性如何解决

并发情况下发生缓存不一致的问题,主要是因为写数据库和写缓存不是原子

先写缓存,再写数据库

先写数据库,再写缓存

先删缓存,再写数据库

删缓存很快,写数据库很慢,所以图二不一致情况很容易发生

先写数据库,再删缓存

图二发生的概率不高,因为写入缓存速度比较快,不太可能缓存写入的时候更新数据库

缓存双删机制

使用Canal监听BinLog

缓存问题

缓存穿透

StrUtil.isBlank()里面null、""、\t\n都会返回true,注意从Redis中查询结果后,先判断是否为null、""、\t\n,不是的话说明Redis里面有值,直接拿来用就行,是""的话说明缓存了一个空值,要返回“店面信息不存在!”

缓存雪崩

缓存击穿(热点key问题)

目的是解决缓存重建这段时间的并发问题。

三个问题中,只有缓存击穿是解决多线程并发造成的问题

优惠券秒杀

全局ID生成器

唯一性、高可用、高性能、递增性、安全性

一秒内增加id是要加锁吗 

超卖问题

实现一人一单

将userId作为synchronized的锁,因为一个用户不能买抢多个券,但是多个用户并发的过程中不要让他串行执行

先获取锁,然后再提交事务,才能保证线程安全

集群操作

集群操作中,加了sync锁也会造成并发问题,失效

多个JVM如何使用同一把锁?


http://www.kler.cn/news/355441.html

相关文章:

  • 在电脑上免费分区的 5 个有效磁盘分区软件工具
  • flume 负载均衡 详解
  • 2024年电子信息与信号处理国际学术研讨会(EISP 2024,2024年11月15-17日)
  • JavaWeb合集15-Apache POI
  • 需要补充的技能
  • WPF常见容器全方位介绍
  • TS项目中如何合理的为接口定义参数类型
  • C++贪心算法
  • vue video播放m3u8监控视频
  • 车载实操:一对一实操学习、CANoe实操学习、推荐就业机会、就业技术支持、协助面试辅导
  • Vue Element Form组件v-for循环里的表单验证
  • 物联网智能家居环境监测系统
  • context.getExternalFilesDir()与返回的路径对照 Android 存储路径
  • 代码随想录算法训练营第二天(补) | 滑动窗口、模拟、前缀和
  • 15分钟学Go 第5天:数据类型
  • OQE-OPTICAL AND QUANTUM ELECTRONICS
  • Ansible自动化工具
  • 通信工程学习:什么是TCP/IP(传输控制协议/互联网议)
  • 华硕飞行堡垒FX53VD键盘全部失灵【除电源键】
  • 深兰科技|“武汉市AI心理热线医工交叉研发合作基地”正式揭牌