Caching Nginx memcache缓存和失效
我们目前使用NGINX作为服务器,使用memcache缓存数据库查询以及php中的页面 我们有一个版本编号系统,在任何更新或插入过程中,这个版本号都会增加,因此当每个键都附加了这个版本号时,memcache将始终获取新数据。它对我们有效,因为读写百分比分割为80/20%,所以大多数时候memcache都会返回数据,而不会命中数据库 现在,我们计划将此缓存策略移动到服务器级别,NGINX和memcache模块将使用请求uri和版本号缓存GET请求 只是需要一些关于我如何实现这一目标的反馈Caching Nginx memcache缓存和失效,caching,nginx,memcached,php,Caching,Nginx,Memcached,Php,我们目前使用NGINX作为服务器,使用memcache缓存数据库查询以及php中的页面 我们有一个版本编号系统,在任何更新或插入过程中,这个版本号都会增加,因此当每个键都附加了这个版本号时,memcache将始终获取新数据。它对我们有效,因为读写百分比分割为80/20%,所以大多数时候memcache都会返回数据,而不会命中数据库 现在,我们计划将此缓存策略移动到服务器级别,NGINX和memcache模块将使用请求uri和版本号缓存GET请求 只是需要一些关于我如何实现这一目标的反馈 我可以
- 我可以获取存储在NGINX的memcache中的这个版本号吗?(这将用于将其附加到请求uri)
- 如何处理已登录的用户?(我是否可以为登录用户设置cookie,并检查nginx中是否存在此cookie,如果它只是将请求传递到后端而不是memcache)
- 1)不幸的是,使用“vanila”nginx无法做到这一点。但是有几个第三方nginx模块可以帮助您实现这一点。请看一看
增强memcached协议支持
http://wiki.nginx.org/NginxHttpMemcModule
价值评估
我建议您给我一个机会访问github.com/agentzh/ngx_openresty(nginx有许多补丁和模块)
关于NGINX脚本代理的精彩演示文稿zh.org/misc/slides/NGINX-conf-scripting/NGINX-conf-scripting.html
2) 在互联网上有很多关于如何禁用日志用户缓存的例子
if ($http_cookie ~* "auth_user") {
# do some thing, set flag or so
}
感谢您的资源,请看一看,它们应该是有用的。