xianlaioy / memcache-client-forjava

Automatically exported from code.google.com/p/memcache-client-forjava
0 stars 0 forks source link

两点建议 #20

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
1,关于本地缓存,我看到源代码中使用的ConcurrentHashMap,Concurr
entHashMap不
好的一点是就是无论是put还是get都是需要lock的,针对只是作�
��缓存来使用的话,
如果取出来的数据不需要修改都直接返回给客户端,那么只��
�真多put进行lock就可以
了,get的时候可以不需要lock,建议自己写一个Map,只对put进�
��lock,这样可以提
高获取本地缓存数据的速度。

2,正如你所说,memcached并非是用来做存储使用的,所以很不�
��解为什么要做成集
群式的,我的情况是有多个client对应多个memcached服务器端,��
�于所有服务器都在
一个局域网中,所以一个client对memcached进行了存储操作的同��
�,也会使用局域网
广播的形式通过只所有其他的client,这样所有的client就知道��
�个key值所对应的
value存储到了那一天memcached服务器上,即节省了memcached对内存
的使用,也提高
了多client的命中率问题。

个人建议,如果有什么不妥的地方,欢迎讨论。

xiazhiquan(at)youku.com

Original issue reported on code.google.com by xzq...@gmail.com on 31 Mar 2010 at 2:22

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
作者好像是以key的hashcode计算出某台mc,所以我觉得在一种理�
��状态,每台client根据相同的hashcode都能够准确定位到那台mc��
�所以可以无需再广播通知到其他所有client了。

但是如果原hashcode计算出来的mc正好间歇性不能工作的话,就�
��出现一些数据的紊乱存储了。其他client就会不确定此key的val
ue存储在哪台mc上了。

欢迎交流:cj.yangjun@gmail.com

Original comment by cj.yangjun@gmail.com on 17 Oct 2010 at 5:12