首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

基于memcached client for java的cache打包

2012-09-01 
基于memcached client for java的cache封装?//把数据放入缓存,如果与key对应的缓存值已存在,则替换public

基于memcached client for java的cache封装

?

//把数据放入缓存,如果与key对应的缓存值已存在,则替换public boolean set(String key, T value) {if (key == null) {return false;}key = base + key;//这里对key值做了一个简单的处理,请忽略之...boolean result = false;if (pool.getServers().length < 2) {//如果只设置了一个服务器,则直接存入result = memCachedClient.set(key, value);} else {int hashCode = HashCodeUtil.getHash(key);//一次hash算法result = memCachedClient.set(key, value, hashCode);//存入主服务器hashCode = getRehashCode(key, hashCode);//二次hash算法memCachedClient.set(key, value, hashCode);//存入从服务器}return result;}//rehash方法private int getRehashCode(String key, int oldHashcode) {String host = pool.getHost(key, oldHashcode);//获取主服务int rehashTries = 0;int hashCode = HashCodeUtil.getHash(rehashTries + key);while (host.equals(pool.getHost(key, hashCode))) {//查找从服务器,直到查找到不同的一台服务器为止rehashTries++;hashCode = HashCodeUtil.getHash(rehashTries + key);}return hashCode;}?

?

具体的实现代码在附件中。

1 楼 guazi 2011-06-08   怎么没人来说两句,踩顶都没关系,发个意见 2 楼 andylo25 2011-06-08   总体来说,封装得不错,但是文章介绍短了点,不够清晰,看起来比较吃力. 3 楼 guazi 2011-06-08   andylo25 写道总体来说,封装得不错,但是文章介绍短了点,不够清晰,看起来比较吃力.
恩,上边只是简要说了一下算法思想,没有涉及具体算法,如果把算法部分再剖析一下可能会更好。 4 楼 nimk 2011-11-22   缺点就是额外内存开销?

热点排行