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

关于配置表数据应该如何存放的问题

  •  
  •   imherer · 141 天前 · 596 次点击
    这是一个创建于 141 天前的主题,其中的信息可能已经有所发展或是发生改变。

    手游项目,策划会给过来很多张配置表(几十到一百不等),每张表的大小从几个字节到上百 KB 不等,数据格式是 json

    现在想在设计上如何来存放这些数据:

    1.rds+redis

    这样做的好处是配置表可以通过 GM 后台随时修改,做负载均衡也比较容易,缺点是大的配置表从 redis 读取出来再反序列化成对象性能上可能有问题(主要是数据量大的话比较耗时)

    2.程序启动的时候将所有配置表读取出来挂载在一个全局的对象上

    这样做性能上应该比 1 好,但是修改起来和做负载均衡的时候就比较麻烦了

    这块应该如何做呢?

    语言:golang

    7 回复  |  直到 2019-06-04 16:39:16 +08:00
        1
    lihongjie0209   141 天前
    有几十万配置项? 为什么要考虑性能问题?
        2
    imherer   141 天前
    @lihongjie0209 有啊
    好多地方都要读取配置表里的数据做一些业务上的操作啊
        3
    gaius   141 天前
    即时加载,方便暗改吗
        4
    snappyone   141 天前
    结合下不就可以了吗,本地一份缓存,数据库修改后推送到本地缓存
        5
    SakuraSa   141 天前
    可能 启动时加载+变更推送 会好一点,配置可以实时生效,反序列化也仅在数据变动的时候
        6
    SakuraSa   141 天前
    可以用 zookeeper 或者 consul 之类的系统实现配置变动通知
        7
    peyppicp   141 天前
    1+2 结合,服务端定时从 redis 拉取配置
    后台修改完数据后,直接干掉 redis 对应的缓存项就完毕了,之后定时任务拉取的时候在重新放回 redis 里
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2668 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 24ms · UTC 13:44 · PVG 21:44 · LAX 06:44 · JFK 09:44
    ♥ Do have faith in what you're doing.