V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Kould
V2EX  ›  Java

主键有必要使用缓存吗

  •  
  •   Kould · 2022-06-30 19:27:19 +08:00 · 1571 次点击
    这是一个创建于 656 天前的主题,其中的信息可能已经有所发展或是发生改变。

    以主键作为条件获取数据类似 findById 方法这种,感觉好像走 mysql 主键索引也很快,貌似没有必要缓存?

    4 条回复    2022-07-01 13:09:21 +08:00
    xiangyuecn
        1
    xiangyuecn  
       2022-06-30 20:00:32 +08:00
    内存 跟 读盘 哪个快?但当你真需要优化的时候,优化的可就不是缓存了,是优化掉 mysql 本身
    tramm
        2
    tramm  
       2022-07-01 08:26:11 +08:00
    没必要, 使用缓存, 保证数据准确性的话, 又提升了复杂性了, 得不偿失
    luomao
        3
    luomao  
       2022-07-01 10:05:45 +08:00
    具体需要看你需求,你是打算缓存下来整个数据结构,然后在缓存中去查询内容么?还是单纯的想缓存每次的查询结果?
    我认为 2 楼说的很好,没有必要徒增复杂度,如果仅为了减少数据库压力,可以加一层读缓存,第一次查询走 mysql ,第二次走缓存,依靠业务的对数据更新的敏感程度设置过期时间。
    twing37
        4
    twing37  
       2022-07-01 13:09:21 +08:00
    1. 三步走: make it run, make it right, make it fast 看你在哪.
    2. 另外就是非得追究是否合适, 那需要去看他的内置缓存. 而 MySQL 的 QueryCache 很鸡肋.属于表范围的.也就是修改频繁的情况下.Cache 命中堪忧,在 8.0 已经废弃掉了.当然有一天如果做到行级缓存.那我认为是主键的情况下没必要加第三方的.
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3140 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 14:41 · PVG 22:41 · LAX 07:41 · JFK 10:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.