我想知道是否有一种方法可以跨脚本存储非常大的数组。在我之前的解决方案中,我使用 SQL 来存储这些数据,但是每秒有 200 个页面请求,这是很多不必要的非常大的选择查询!
我在想也许在野外可能存在一个 nginx 模块,它允许您存储可以通过 lua 轻松修改和访问的数据,而无需从内存中删除并每秒添加到内存 200 次。
我能想到的唯一其他选择是构建一个 nginx 模块来运行我的应用程序并完全放弃 lua。想法,有人吗?
使用 lua_nginx 的内置 ngx.shared.DICT 进行快速内存存储。
从文档中:
共享字典将通过服务器配置重新加载(通过向 Nginx 进程发送 HUP 信号或使用 -s reload 命令行选项)保留其内容。
但是,当 Nginx 服务器退出时,字典存储中的内容将会丢失。
将您的数据从 SQL 加载到共享字典中,然后从那里使用共享字典。