美文网首页
Day52 Redis缓存设计与性能优化

Day52 Redis缓存设计与性能优化

作者: 小周爱吃瓜 | 来源:发表于2022-06-11 13:18 被阅读0次

    缓存设计原则当然是离用户越近越好。

    Screen Shot 2022-06-11 at 12.59.26 PM.png

    nginx分发层,nginx openrestry层需要做ip-hash的设置.
    lua动态渲染模板+html+本地缓存.

    web层: redis-cache或者Ehcache缓存数据。

    MQ:

    会员服务,商品,库存,交易,仓储状态微服务.

    1. 缓存空对象 2. 布隆过滤器 3. 缓存失效(击穿)

    热点缓存Key重建优化策略

    互斥锁

    缓存不一致问题:

    1. 并发概率很小的情况(个人维度的订单数据,用户数据),这种加上缓存失效时间就可以了。
    2. 并发较高,比如商品名称,菜单这种,加上缓存过期时间可以解决大部分业务场景对于缓存的要求
    3. 如果不能容忍缓存一致性问题,延迟双删或者读写锁保证并发读写或者写写的按照顺序。 读读相当于是无锁的
    4. canal
    • bigkeys
      big hash ,拆分大的key,成为多个小的key.
    • key 设计.
      业务名:表名: id

    • redis 事务功能弱,建议用Lua进行代替

    缓存雪崩问题

    sentinel 做熔断限制

    • Redis过期健三种策略

    定时,惰性,定期
    对cpu不友好
    对内存不友好,对cpu友好
    隔断时间去检查一次

    • 淘汰策略
    1. noeviction
    2. 淘汰数据:
      2.1 设置了过期数据:采取的策略
      volatile-lru
      volatile-random
      volatile-ttl

    2.2 allkeys-lru (针对所有的数据采用的策略)
    allkeys-random
    allkeys-lfu

    相关文章

      网友评论

          本文标题:Day52 Redis缓存设计与性能优化

          本文链接:https://www.haomeiwen.com/subject/jdoimrtx.html