庄周梦蝶

生活、程序、未来
   :: 首页 ::  ::  :: 聚合  :: 管理

Xmemcached 1.2.2发布——支持遍历所有key

Posted on 2010-01-12 18:13 dennis 阅读(4497) 评论(7)  编辑  收藏 所属分类: javamy open-source
    Java Memcached Client——Xmemcached的新版本1.2.2正式released。这个小版本最主要的改进是允许遍历所有在memcached中的key,这是通过stats协议实现,具体信息可以看这里

1.2.2的主要改进如下:

1、添加一个KeyIterator接口,这个迭代器接口用于遍历memcached中的所有key。由于是基于stats协议实现的,因此这个迭代过程并非高效,请慎重使用,并且迭代返回的key也并非实时,而是当前快照。KeyIterator目前仅在文本协议下可用,使用例子如下:
MemcachedClient client=
KeyIterator it
=client.getKeyIterator(AddrUtil.getOneAddress("localhost:11211"));
while(it.hasNext())
{
   String key
=it.next();
}

2、添加一个新类net.rubyeye.xmemcached.Counter,用于封装原始的incr/decr方法,提供类似AtomicLong原子类的API方便计数器的使用:
Counter counter=client.getCounter("counter",0);
counter.incrementAndGet();
counter.decrementAndGet();
counter.addAndGet(
-10);

3、修复BUG,如issue 71,issue 72,issue 70 etc.
4、声明废弃 net.rubyeye.xmemcached.buffer.BufferAllocator,现在哪怕你设置了这一属性也将被忽略,这个类将在以后的某个版本中移除
5、升级yanf4j到1.1.0

   Wiki用户指南都已经更新,欢迎使用并反馈任何建议或者bug报告。

项目主页:http://code.google.com/p/xmemcached/
下载地址:http://code.google.com/p/xmemcached/downloads/list


评论

# re: Xmemcached 1.2.2发布——支持遍历所有key[未登录]  回复  更多评论   

2010-01-13 10:01 by a
这么多限制,这个功能还是不要开放出来,导致不兼容性

# re: Xmemcached 1.2.2发布——支持遍历所有key[未登录]  回复  更多评论   

2010-01-13 13:15 by dennis
@a
这个功能适合调试或者后台管理使用。业务相关逻辑不应当使用。

# re: Xmemcached 1.2.2发布——支持遍历所有key  回复  更多评论   

2010-01-13 13:24 by Kappa
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"" target="_new" rel="nofollow">http://www.springframework.org/schema/beans"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"
default-lazy-init="true">
<bean name="memcachedClientBuilder" class="net.rubyeye.xmemcached.XMemcachedClientBuilder">
<!-- XMemcachedClientBuilder have two arguments.First is server list,and second is weights array. -->
<constructor-arg>
<list>
<bean class="java.net.InetSocketAddress">
<constructor-arg value="server-01"/>
<constructor-arg value="11211"/>
</bean>
</list>
</constructor-arg>
<property name="commandFactory">
<bean class="net.rubyeye.xmemcached.command.TextCommandFactory"/>
</property>
<property name="sessionLocator">
<bean class="net.rubyeye.xmemcached.impl.KetamaMemcachedSessionLocator"/>
</property>
<property name="transcoder">
<bean class="net.rubyeye.xmemcached.transcoders.SerializingTranscoder"/>
</property>
</bean>
<!-- Use factory bean to build memcached client -->
<bean name="memcachedClient" factory-bean="memcachedClientBuilder"
factory-method="build" destroy-method="shutdown"/>
</beans>

1.2.2这样配spring集成起不来了.

# re: Xmemcached 1.2.2发布——支持遍历所有key  回复  更多评论   

2010-01-14 15:20 by Kappa
我的错, 已经没问题了, sorry.

# 报告一个bug  回复  更多评论   

2010-02-02 14:51 by xieke
Key contains invalid characters: ``KENSORT:select * from kensort where (1=1) order by modifydate asc .null''

报这个错,我传进去的key 绝对没有 `` '' ,是xmemcached给我加上去的,相同key其他 memcached client都支持。

# re: Xmemcached 1.2.2发布——支持遍历所有key[未登录]  回复  更多评论   

2010-02-02 15:01 by dennis
@xieke

你的key有空格吧,如果在使用文本协议的情况下,key是不允许有空格的,除非使用二进制协议。“相同key其他 memcached client都支持”,我想问下都有哪些client,至少spymemcached是肯定不行的。

# re: Xmemcached 1.2.2发布——支持遍历所有key  回复  更多评论   

2010-02-05 17:01 by rong2111@163.com
spymemcached支持自定义Log的形式,提供了net.spy.log.LoggerImpl接口
请问xmemcached是否支持自定义LOG呢?
望回复,rong2111@163.com,谢谢

只有注册用户登录后才能发表评论。


网站导航: