nginx缓存cache有哪几种方法


当前第2页 返回上一页

3、基于memcached的缓存

nginx对memcached有所支持,但是功能并不是特别之强,性能上还是非常之优秀。

1

2

3

4

5

6

7

8

location /mem/ {

  if ( $uri ~ "^/mem/([0-9A-Za-z_]*)$" )

  {

   set $memcached_key "$1";

   memcached_pass   192.168.1.2:11211;

  }

  expires 70;

}

这个配置会将http://sudone.com/mem/abc指明到memcached的abc这个key去取数据。

nginx目前没有写入memcached的任何机制,所以要往memcached里写入数据得用后台的动态语言完成,可以利用404定向到后端去写入数据。

4、基于第三方插件ncache

ncache是新浪兄弟开发的一个不错的项目,它利用nginx和memcached实现了一部分类似squid缓存的功能。

5、nginx新开发的proxy_cache功能

从nginx-0.7.44版开始,nginx支持了类似squid较为正规的cache功能,目前还处于开发阶段,支持相当有限,这个缓存是把链接用md5编码hash后保存,所以它可以支持任意链接,同时也支持404/301/302这样的非200状态。

配置:

首先配置一个cache空间:

proxy_cache_path /path/to/cache levels=1:2 keys_zone=NAME:10m inactive=5m max_size=2m clean_time=1m;

注意这个配置是在server标签外,levels指定该缓存空间有两层hash目录,第一层目录是1个字母,第二层为2个字母,保存的文件名就会类似/path/to/cache/c/29/b7f54b2df7773722d382f4809d65029c;keys_zone为这个空间起个名字,10m指空间大小为10MB;inactive的5m指缓存默认时长5分钟;max_size的2m是指单个文件超过2m的就不缓存;clean_time指定一分钟清理一次缓存。

1

2

3

4

5

6

7

location / { 

    proxy_pass http://www.sudone.com/;

  proxy_cache NAME;#使用NAME这个keys_zone

  proxy_cache_valid 200 302 1h;#200和302状态码保存1小时 

  proxy_cache_valid 301 1d;#301状态码保存一天 

  proxy_cache_valid any 1m;#其它的保存一分钟

  }

相关推荐:nginx教程

以上就是nginx缓存cache有哪几种方法的详细内容,更多文章请关注木庄网络博客

返回前面的内容

相关阅读 >>

使用nginxnginx-rtmp-module搭建流媒体服务器

nginx相对于apache来说有什么优势

nginx日志文件在哪

怎么更改nginx配置文件路径

nginx实现限流的方式有哪几种

nginx和haproxy的区别

nginx与php怎么处理用户请求

nginx动静分离的好处

nginx使用多进程有啥好处

nginx怎么才能关闭日志功能

更多相关阅读请进入《nginx》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...