![]() |
1
7
我假设你已经看过 varnish 而且不适合你的情况。有两种方法可以实现你想要的。 使用nginx Nginx具有默认值 caching mechanism 你能做到的 configure 供您使用。 如果这没有帮助,您应该将与第三方编译的Nginx Ngx_Lua module 尝试一下。这也方便地与其他有用的模块和所需的Lua环境一起打包,如 Openresty . 使用Ngx_Lua,可以使用 shared dictionary 缓存你的couchdb响应。顾名思义,共享字典在Ngx_Lua的执行环境中使用共享内存区域。这类似于proxy_cache在Nginx中的工作方式(它还定义了Nginx的执行环境中的共享内存区域),但具有可以编程的额外优势。 构建couchdb缓存所需的步骤非常简单(使用这种方法,您不需要向客户端发送etag)
当然,如果您手动编程缓存,则必须定义最大缓存大小和从缓存中删除旧项的机制。这个 lua_shared_dict 指令可以帮助您定义缓存响应的内存大小。在共享字典中保存值时,您可以指定值保留在内存区域的时间,在该时间之后,值将自动过期。结合共享字典的最大缓存大小参数和缓存时间参数,您应该能够为用户编程相当复杂的缓存机制。 使用erlang
因为couchdb是用erlang编写的,所以您的机器上已经有了erlang env。所以如果你能在其中编程,你就可以用mnesia创建一个非常健壮的分布式缓存。步骤相同。Erlang计时器可以与
使现代化 正如@abyz所建议的 redis 在缓存方面也是一个不错的选择。 |
![]() |
Sean · 如何查找一个api有多少个json端点 7 年前 |
|
ghost · 限制公共访问的简单数据存储模式 7 年前 |
![]() |
Alk · Php脚本空响应获取数据 8 年前 |
![]() |
Abid Ali · 将变量用于数据表服务器端列值格式化程序 8 年前 |