memcached 1.6 终于可以不用get-set来重新设置数据的超时时间

http://www.blogjava.net/killme2008/archive/2011/06/12/352120.html

开源memcached的java客户端xmemcached发布1.3.3,主要改进如下:

1、memcached 1.6添加了不少新特性,具体可以参考《what's new in memcached》(1) (2)这两个帖子。xmemcached将及时跟进这些新特性。1.3.3这个版本实现了二进制协议中新的两个命令touch和GAT(get and touch)。这两个功能可以说是千呼万唤始出来,终于可以不用get-set来重新设置数据的超时时间,利用touch或者GAT可以简单地更新数据的超时时间。1.3.3新增加四个方法:

     public   boolean  touch( final  String key,  int  exp,  long  opTimeout)
            
throws  TimeoutException, InterruptedException, MemcachedException;
    
public   boolean  touch( final  String key,  int  exp)  throws  TimeoutException,
            InterruptedException, MemcachedException;
        
public   < T >  T getAndTouch( final  String key,  int  newExp,  long  opTimeout)
            
throws  TimeoutException, InterruptedException, MemcachedException;
    
public   < T >  T getAndTouch( final  String key,  int  newExp)
            
throws  TimeoutException, InterruptedException, MemcachedException;

其中touch用于设置数据新的超时时间,getAndTouch则是在获取数据的同时更新超时时间。例如用memcached存储session,可以在每次get的时候更新下数据的超时时间来保活。 请注意,这四个方法仅在使用memcached 1.6并且使用二进制协议的时候有效

2、setLoggingLevelVerbosity方法可以作用于二进制协议。


3、重构错误处理模块,使得异常信息更友好。


4、将KeyIterator和getKeyIterator声明为deprecated,因为memached 1.6将移除stats cachedump协议,并且stats cachedump返回数据有大小限制,遍历功能不具实用性。

5、修复Bug,包括 issue 126 , issue 127, issue 128, issue 129

下载地址: http://code.google.com/p/xmemcached/downloads/list
源码:   https://github.com/killme2008/xmemcached
maven引用:
  < dependency >
      
< groupId > com.googlecode.xmemcached </ groupId >
      
< artifactId > xmemcached </ artifactId >
      
< version > 1.3.3 </ version >
 
</ dependency >

posted on 2011-06-12 13:32 dennis 阅读(2406) 评论(2)  编辑  收藏 所属分类: java 、my open-source

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在 Memcached 客户端中,通常有两个超时相关的设置:连接超时和操作超时。 1. 连接超时:指当客户端尝试连接 Memcached 服务器时,如果在规定的时间内无法建立连接,则会超时。可以通过设置客户端的连接超时时间来调整这个设置。具体方法取决于你使用的客户端库,例如在 PHP 中,可以使用 `Memcached::setOption()` 方法设置 `OPT_CONNECT_TIMEOUT` 选项来调整连接超时时间。 2. 操作超时:指当客户端发送一个请求给 Memcached 服务器时,如果在规定的时间内没有收到响应,则会超时。可以通过设置客户端的操作超时时间来调整这个设置。同样,具体方法取决于你使用的客户端库,例如在 Python 中,可以使用 `memcache.Client()` 的 `socket_timeout` 参数设置操作超时时间。 需要注意的是,超时时间设置过短可能会导致误判或性能问题,设置过长则可能会增加系统响应时间。因此,需要根据具体的场景和系统负载情况来进行调整。 ### 回答2: 要调整 Memcached 客户端的超时设置,可以按照以下步骤进行操作: 1. 确定需要调整超时设置的客户端程序和操作系统。 2. 获取客户端程序的配置文件或代码文件。 3. 打开配置文件或代码文件,查找超时相关的配置项或代码片段。 4. 根据需要,调整超时时间的数值。可以增加或减少超时时间,以适应不同的网络环境和业务需求。 5. 保存配置文件或代码文件,并重新启动或重新编译客户端程序,使新的超时设置生效。 需要注意的是,不同的客户端程序可能有不同的超时设置方式,以下是一些常见的调整超时设置的方法: - 如果使用的是一些开源的 Memcached 客户端库,可以查阅它们的文档,寻找相关的超时设置选项,并按照文档的指导进行调整。 - 如果使用的是自己编写的客户端程序,可以在代码中找到与超时设置相关的部分,根据需要进行调整。例如,可以修改连接超时、读取超时和写入超时等参数。 - 如果使用的是配套的命令行工具(如memcached-tool),可以在命令行中指定超时参数。例如,使用"-t"参数指定超时时间为X秒。 总之,根据具体的情况,通过修改配置文件、调整代码或加入参数等方式,可以方便地调整 Memcached 客户端的超时设置,以满足实际需求。 ### 回答3: 要调整 Memcached 客户端的超时设置,可以通过以下步骤进行操作: 1. 首先,确定你所使用的 Memcached 客户端库。不同的编程语言可能有不同的 Memcached 客户端库,如 php-memcached、python-memcached 等。 2. 查阅所使用的 Memcached 客户端库的文档或官方网站,了解相关的超时设置参数和默认值。通常,超时设置参数的名称可能会有所不同,例如 timeout、connect_timeout、socket_timeout 等。 3. 根据文档或官方网站的指引,找到设置超时的方法或函数。这些方法或函数通常会在创建 Memcached 客户端对象或连接到 Memcached 服务器时被调用。调用方法可能会接受一个超时值作为参数,单位可以是秒或毫秒。 4. 根据自己的需求,设置一个适当的超时值。超时值应该与你的应用逻辑和网络环境相匹配。通常情况下,可以将超时设置为几秒钟或几毫秒,以确保在超时期限内获得响应。 5. 在代码中修改相应的设置,并重新编译或重启应用程序,以使设置生效。 6. 测试代码的修改是否生效。可以使用一些测试脚本或工具来模拟访问 Memcached 服务器并检查超时设置是否符合预期。 请注意,不同的 Memcached 客户端库和版本可能会有不同的超时设置方式和参数名称。因此,在进行设置时,应仔细阅读和理解所使用的客户端库的文档,并根据实际情况进行相应的调整和测试。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值