09 2023 档案
摘要:缓存击穿问题及解决思路及封装工具类 缓存击穿 缓存击穿问题也叫热点Key问题,就是一个被高并发访问并且缓存重建业务较复杂的key突然失效了,无数的请求访问会在瞬间给数据库带来巨大的冲击。 解决方案 常见的解决方案有两种: 互斥锁 逻辑过期 逻辑分析:假设线程1在查询缓存之后,本来应该去查询数据库,然
阅读全文
摘要:缓存雪崩问题及解决思路 缓存雪崩 缓存雪崩是指在同一时段大量的缓存key同时失效或者Redis服务宕机,导致大量请求到达数据库,带来巨大压力。 解决方案 给不同的Key的TTL添加随机值 利用Redis集群提高服务的可用性 给缓存业务添加降级限流策略 给业务添加多级缓存
阅读全文
摘要:缓存击穿问题及解决思路 缓存穿透 缓存穿透 :缓存穿透是指客户端请求的数据在缓存中和数据库中都不存在,这样缓存永远不会生效,这些请求都会打到数据库。 缓存穿透产生的原因是什么? 用户请求的数据在缓存中和数据库中都不存在,不断发起这样的请求,给数据库带来巨大压力 解决方案 缓存穿透的解决方案有哪些?
阅读全文
摘要:数据库缓存不一致解决方案 数据库缓存不一致产生原因 由于我们的缓存的数据源来自于数据库,而数据库的数据是会发生变化的,因此,如果当数据库中数据发生变化,而缓存却没有同步,此时就会有一致性问题存在,其后果是: 用户使用缓存中的过时数据,就会产生类似多线程数据安全问题,从而影响业务,产品口碑等;怎么解决
阅读全文
摘要:基于Redis实现短信登录 基于Redis实现登录流程 发送验证码: 用户在提交手机号后,会校验手机号是否合法,如果不合法,则要求用户重新输入手机号 如果手机号合法,后台此时生成对应的验证码,同时将验证码进行保存到Redis中,然后再通过短信的方式将验证码发送给用户 短信验证码登录、注册: 用户将验
阅读全文