【发布时间】:2018-01-17 08:46:39
【问题描述】:
我在 nginx 中嵌入了一些 Lua 代码。在这段代码中,我从 Redis 缓存中获取了一些小数据。现在我想知道,使用ngx.shared 构造在 nginx 中缓存这些数据(在某种意义上已经缓存)是否是一个好习惯?这样做有什么好处和坏处吗?在伪代码中,我希望有类似的东西:
local cache = ngx.shared.cache
local cached_key = cache:get("cached_key")
if cached_key == nil then
... get data from Redis
cache:set("cached_key", cached_key)
end
【问题讨论】:
-
我认为这个问题很模糊。谷歌搜索“ngx.shared.cache”返回的结果实际上少于 10 个。你最好在适当的 ML 上问这个问题。
-
我认为,搜索
ngx.shared.cache没有意义,因为这种情况下的缓存是我自己的变量名。这个问题是相当概念性的——在现实世界的实践中,他们是否在 nginx 缓存中缓存 Redis(或 memcached)数据以提供更多性能。