V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
Kould
V2EX  ›  Java

主键有必要使用缓存吗

  •  
  •   Kould · Jun 30, 2022 · 2528 views
    This topic created in 1410 days ago, the information mentioned may be changed or developed.

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

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