因为项目中的静态资源(HTML,JS,JPG)比较多, 多心考虑台面用nginx搭载memcache增加访问量. 其中nginx.conf中配置(节选如下):
|
访问http://localhost:4444/a/b/c/static.html资源的时候,后台日志出现
|
但我用JAVA的客户端从memcache中读取key为/a/b/c/static.html的值是可以准备提取到对应的资源的, 不知为什么nginx就是读不出来. 后来将
|
立即可以显示正确的页面, 另外发现如果key中包含有'/', 那nginx也不能正常读出.
请问, 大家碰到过这种问题没有
试试给$uri加上引号:
set $memcached_key "$uri";
再试试set_md5,这个应该不存在"/"问题
set_md5 $memcached_key $uri;
找到问题了,是使用的memcacheClent是什么dange的,具体我也忘了。这个jar包设置key如果是有"/"它内部不知道是怎么转换的。换成
<dependency>
<groupId>com.googlecode.xmemcached</groupId>
<artifactId>xmemcached</artifactId>
<version>2.0.0</version>
</dependency>
这个就好了,google大法好啊
谢谢@dudu的热心回答