Memcached使用点滴:http://blog.csdn.net/waiwai4701/article/details/40827275
这篇文章写了一大段看起来很高深的代码并做了详细的解释,让人看完之后觉得理解,但是要解决问题不是理解就够了,而是要看代码是不是能为你工作达到你要的效果。
我自己项目的一个例子:
原本加一块大约5*60000=300000个的key在memcached中几乎都存在,但是用那篇文章的方法只取得227722个key,并且每次的结果不变
第一次执行结果:
sku_list:11896
[sand.jd.synchronous.Timing]sku_price:3465
[sand.jd.synchronous.Timing]sku_state:34472
[sand.jd.synchronous.Timing]image:63964
temp:63967//在另外一个方法中对sku_price进行get,然后发现这个key猛增,其他key看起来像是被顶替掉了
[sand.jd.synchronous.Timing]sku_list:0
[sand.jd.synchronous.Timing]sku_price:49548
[sand.jd.synchronous.Timing]sku_state:0
[sand.jd.synchronous.Timing]image:63964
x=227722//在本方法中对获得全部keyget,结果发现跟上面的结果一样
[sand.jd.synchronous.Timing]sku_list:0
[sand.jd.synchronous.Timing]sku_price:49548
[sand.jd.synchronous.Timing]sku_state:0
[sand.jd.synchronous.Timing]image:63964
temp:63967//在另外一个方法中对 sku_list进行 get,sku_list猛增
[sand.jd.synchronous.Timing]sku_list:50747
[sand.jd.synchronous.Timing]sku_price:0
[sand.jd.synchronous.Timing]sku_state:0
[sand.jd.synchronous.Timing]image:63964
temp1:63967
temp2:63967//在另外一个方法中对sku_list,sku_price,sku_state方法进行get,三个值都一样多,但是都不够
temp3:63967
[sand.jd.synchronous.Timing]sku_list:16718
[sand.jd.synchronous.Timing]sku_price:16718
[sand.jd.synchronous.Timing]sku_state:16718
[sand.jd.synchronous.Timing]image:63964
神奇的方法,哪位大牛告诉我这个是为什么。
最后项目中获得key变成了从数据库找出然后直接从mem取值,发现几乎不少值。