V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
LeeReamond
V2EX  ›  问与答

Redis 切换数据库的性能消耗问题

  •  
  •   LeeReamond · 2021-06-25 08:32:53 +08:00 · 1508 次点击
    这是一个创建于 1034 天前的主题,其中的信息可能已经有所发展或是发生改变。

    想问一下 redis 的切换数据库的性能开销,有没有生产中遇到问题的。

    目前业务需要对用户权限进行缓存,感觉上单独拿出来放在一个库里比较好,不与其他业务混在一起,看起来比较干净。但是如此一来业务代码中需要频繁进行 select 切换,比如用户每次发出一个请求,需要先 select 到权限库获取权限,然后再 select 到业务库获取缓存,多了这两步操作会不会产生性能问题?

    或者单库里面有没有什么合适方案能最大程度避免冲突的?

    8 条回复    2021-06-25 13:36:32 +08:00
    ebingtel
        1
    ebingtel  
       2021-06-25 08:58:50 +08:00
    如果不想和其他业务耦合,感觉新启动一个实例比较靠谱,redis 的多数据感觉有点鸡肋……性能问题还是小问题,就怕开发忘了 select db, 最终搞乱了、flush 了
    wowo243
        2
    wowo243  
       2021-06-25 09:00:46 +08:00
    搞两个连接池分别配置为不同的 db,注入的时候使用不同的名称,用哪个库就注入对应名称的 bean
    jedrek
        3
    jedrek  
       2021-06-25 09:02:08 +08:00   ❤️ 1
    如果是业务问题需要分开存放,就不是 select db 的问题,开启多个实例也需要两次先后的查询。

    如果单单说 redis 切换数据库的网络开销,可分别对每个 db index 建立连接池,使用时区分,不再需要先 select db
    v2orz
        4
    v2orz  
       2021-06-25 09:03:24 +08:00
    使用两个 db 跟使用不同的前缀区分,没有什么区别。redis 的多数据库感觉没什么用,集群还不支持
    crystom
        5
    crystom  
       2021-06-25 09:13:33 +08:00
    用的什么语言
    kxjhlele
        6
    kxjhlele  
       2021-06-25 09:48:42 +08:00
    忘从哪里看到过,连开发者都后悔开发多数据库了,现在就是为了兼容,
    所以建议你启动新实例吧,
    lbunderway
        7
    lbunderway  
       2021-06-25 09:52:09 +08:00
    同意 2 楼简介,我也是这样整的
    THESDZ
        8
    THESDZ  
       2021-06-25 13:36:32 +08:00
    我也同意二楼,万一以后且实例也方便.
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3234 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 13:20 · PVG 21:20 · LAX 06:20 · JFK 09:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.