nginx有跨进程共享一个字典的方法吗?

想在2个进程之间共享复杂的数据结构, 类似一个大json, 但需要针对某个字段修改, 

目前勉强用把json-encode之后的字符串放到shared-dict里. 但效率不太高(主要是json-encode/decode)


有其他什么替代方案吗? 主要是在lua脚本里访问.

邀请回答
提问于 2020-05-18 22:44
527 次浏览
共2个回答

发表评论
  • 陶辉
    2020-12-07 19:06

    shared-dict(https://github.com/openresty/lua-nginx-module#lua_shared_dict)底层是用nginx slab管理的,每个块必须是序列化好的连续内存,所以复杂数据结构都需要做序列化处理。但json毫无疑问序列化速度是最慢的,你可以选用更快的序列化方案,比如protobuf

    1
    回复
    举报
  • 头号游戏教父B哥
    2020-05-20 16:06

    用 Openresty 的 shared-dict 比较方便,而且效率非常高,线上目前用的也是这个。

        如果只是修改部分字段,可以考虑把字段拆分,

        

    1
    回复
    举报
提问者

张炎泼

暂无个人介绍

  • 5

    文章

  • 5

    粉丝

  • 1

    被赞

张炎泼
按Enter键发送
您已邀请位用户
版权所有©F5 Networks,Inc.保留所有权利。京ICP备16013763号-5