Memcached没有get_hits

我在CentOS 6上遇到了memcached的问题,在端口8080上使用apache,在端口80上使用nginx作为apache的反向代理。 我安装Memcached来caching所有的静态文件:这是我的nginx的memcachedconfiguration:

server { access_log off; error_log logs/vhost-error_log warn; listen 80; server_name xxx.com www.xxx.com; location ~* ^.+. (js|css|jpg|jpeg|png|gif|gz|tgz|bz2|tbz|mp3|ogg|swf|pdf|ico|zip|rar|iso|doc|xls|exe|ppt|txt|tar|mid|midi|wav|bmp|rtf|ogv|flv|mpeg|mpg|mpeg4|mp4|avi|wmv|docx|xlsx|pptx|3gp|7z|acc|gzip|img|m4a|m4v|mkv|mov|msi|chm|rm|w3g|w3x|log|dll)$ { root /home/xxx/domains/xxx.com/public_html; expires max; set $memcached_key $uri; memcached_pass 127.0.0.1:11211; error_page 404 = @apache; access_log /var/log/httpd/domains/xxx.com.log; log_not_found off; } 

Memcached正在监听,但没有build立会话,虽然我浏览了很多次的网站。

 Every 2.0s: netstat -natp |grep :11211 Mon Mar 2 13:50:47 2015 tcp 0 0 127.0.0.1:11211 0.0.0.0:* LISTEN 10504/memcached tcp 0 0 127.0.0.1:38126 127.0.0.1:11211 TIME_WAIT - tcp 0 0 127.0.0.1:38124 127.0.0.1:11211 TIME_WAIT - tcp 0 0 127.0.0.1:38144 127.0.0.1:11211 TIME_WAIT - tcp 0 0 127.0.0.1:38127 127.0.0.1:11211 TIME_WAIT - ..... 

这是memcached统计信息:

 STAT pid 10504 STAT uptime 469 STAT time 1425279094 STAT version 1.4.4 STAT pointer_size 64 STAT rusage_user 0.023996 STAT rusage_system 0.067989 STAT curr_connections 5 STAT total_connections 383 STAT connection_structures 6 STAT cmd_get 145 STAT cmd_set 0 STAT cmd_flush 0 STAT get_hits 0 STAT get_misses 145 STAT delete_misses 0 STAT delete_hits 0 STAT incr_misses 0 STAT incr_hits 0 STAT decr_misses 0 STAT decr_hits 0 STAT cas_misses 0 STAT cas_hits 0 STAT cas_badval 0 STAT auth_cmds 0 STAT auth_errors 0 STAT bytes_read 10726 STAT bytes_written 181940 STAT limit_maxbytes 1073741824 STAT accepting_conns 1 STAT listen_disabled_num 0 STAT threads 4 STAT conn_yields 0 STAT bytes 0 STAT curr_items 0 STAT total_items 0 STAT evictions 0 

没有get_hit编号,而get_miss正在增长。 请帮我弄清楚是怎么回事。 谢谢

那么,你的memcached服务器没有任何数据( STAT total_items 0 )。
所以nginx试图查找145项,并没有得到任何他们。

这是完全正确的。
Nginx将不会在memcached中存储任何东西(实际上我不认为这是可以做到的,只能使用非标准模块: https : //github.com/bpaquet/ngx_http_enhanced_memcached_module )。
所以你需要弄清楚在memcached中存储数据的过程。