阅读更多

22顶
1踩

企业架构

原创新闻 Xmemcached 1.2.6.1发布

2010-10-18 08:06 by 资深记者 dennis_zane 评论(12) 有7941人浏览

    开源Java Memcached客户端Xmemcached 1.2.6.1正式发布,这个版本的主要是做bug fix以及一些细节改进,主要变动如下:

1、修复BUG,包括:
Issue 85: 当存在多个MemcachedClient的时候,JMX的统计只显示其中一个
Issue 87: 当使用一致性哈希的时候,连接池不起作用
Issue 90: 用户线程中断引起的连接关闭
Issue 94:BinaryMemcachedClientUnitTest测试失败
Issue 95: JMX addServer,removeServer存在缺陷
Issue 96: OOM Error while decompressing 60 KB of actuall data
Issue 97: 使得关闭连接更友好

2、改进重连机制,重连不再是以固定间隔(默认2秒)做重试连接,而是以一个等差数列递增间隔时间,第一次2秒,第二次4秒,第三次6秒……直到最大间隔时间1分钟做重连尝试。

3、改善关闭机制,关闭连接前发送quit命令,尽量做到友好关闭,等待服务器主动断开连接。

4、添加新的方法用于设置XmemcachedClient实例名称,用于区分不同的缓存集群,方便统计显示:

 

public interface MemcachedClient{
       /**
     * Return the cache instance name
     * 
     * @return
     */
    public String getName();

    /**
     * Set cache instance name
     * 
     * @param name
     */
    public void setName(String name);
}
 


名称也可通过spring配置。

5、提供英文的用户指南,非常感谢cnscud的帮助,这份文档是他一人搞定的。

6、更新了Java Memcached Client Benchmark,跟最新版本的spymemcached,Java-Memcached-Client做对比测试,提供给需要的朋友参考。


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

22
1
评论 共 12 条 请登录后发表评论
12 楼 dennis_zane 2010-10-21 13:55
ywg_2008 写道
不可用存储 1M以上的,所以我才说提个BUG 的,呵呵,把MAX_SIZE这个参数改大就可以了。


恩,我记错了,不好意思,是还有问题,是可以通过设置解决的,这部分需要清理下,如果你要存储超过1MB的数据,可以这样设置,如设置为10MB

memcachedClient.setTranscoder(new SerializingTranscoder(10*1024*1024));

11 楼 ywg_2008 2010-10-21 13:33
不可用存储 1M以上的,所以我才说提个BUG 的,呵呵,把MAX_SIZE这个参数改大就可以了。
dennis_zane 写道
ywg_2008 写道
提个bug :
public final class CachedData {

/**
* Maximum data size allowed by memcached.
*/
public static int MAX_SIZE = 1024 * 1024;
 
这里客户端代码写死了 memcached能存储最大值,然而memcache从1.4.2版本起 就支持大于1M的items了。通过 I 参数设置。


那个参数不起作用的,你可以试试能否存储1M以上的。代码没有清理干净。

dennis_zane 写道
ywg_2008 写道
提个bug :
public final class CachedData {

/**
* Maximum data size allowed by memcached.
*/
public static int MAX_SIZE = 1024 * 1024;
 
这里客户端代码写死了 memcached能存储最大值,然而memcache从1.4.2版本起 就支持大于1M的items了。通过 I 参数设置。


那个参数不起作用的,你可以试试能否存储1M以上的。代码没有清理干净。

10 楼 dennis_zane 2010-10-20 16:05
ywg_2008 写道
提个bug :
public final class CachedData {

/**
* Maximum data size allowed by memcached.
*/
public static int MAX_SIZE = 1024 * 1024;
 
这里客户端代码写死了 memcached能存储最大值,然而memcache从1.4.2版本起 就支持大于1M的items了。通过 I 参数设置。


那个参数不起作用的,你可以试试能否存储1M以上的。代码没有清理干净。
9 楼 ywg_2008 2010-10-20 15:47
提个bug :
public final class CachedData {

/**
* Maximum data size allowed by memcached.
*/
public static int MAX_SIZE = 1024 * 1024;
 
这里客户端代码写死了 memcached能存储最大值,然而memcache从1.4.2版本起 就支持大于1M的items了。通过 I 参数设置。
8 楼 wenson 2010-10-19 11:11
dennis_zane 写道
wenson 写道
不錯的memcached client,正在使用,呵呵

这个版本推荐升级,有些严重的BUG到这个版本才修复,比如issue 90,感谢支持

正準備升級,感謝
7 楼 icanfly 2010-10-18 18:46
嘿嘿,我们项目 我也推荐在用!
6 楼 dennis_zane 2010-10-18 17:00
javaTo 写道
在用1.2.5,准备升级

升级前最好能回归测试   你的使用是我改进的动力 
5 楼 javaTo 2010-10-18 15:53
在用1.2.5,准备升级
4 楼 dennis_zane 2010-10-18 14:57
wenson 写道
不錯的memcached client,正在使用,呵呵

这个版本推荐升级,有些严重的BUG到这个版本才修复,比如issue 90,感谢支持
3 楼 CharlesCui 2010-10-18 13:14
孜孜不倦的更新,精益求精的优化,顶你。
2 楼 surpass 2010-10-18 09:22
庄周梦蝶大侠辛苦了
1 楼 wenson 2010-10-18 09:17
不錯的memcached client,正在使用,呵呵

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 前端003_模拟数据接口_easymock

    Easy Mock 是一个可视化,并且能快速生成模拟数据的服务。是杭州大搜车无线团队出品的一个极其简单、高效、可视化、并且能快速生成模拟数据的在线 Mock 服务。现在 Easy Mock 内置了 Mock.js,我们可以更愉快的伪造数据了网址下载: https://github.com/easy-mock/easy-mock注意:easy-mock 的安装还是比较麻烦,需要事先安装mongodb redis。

  • EasyMock介绍和使用

    IBM网站对EasyMock和使用场景的一些介绍

  • python之easy_mock(伪造返回数据)

    moco-runner-0.12.0-standalone安装下载地址: http://repo1.maven.org/maven2/com/github/dreamhead/moco-runner/0.12.0/ java版本1.8:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.ht...

  • easyMock 数据使用

    之前写了两篇文章,第一篇为 easyMock 项目搭建,点我!! 第二篇为 easyMock 数据格式示例,点我 本篇文章是总结如何使用 easyMock 生成的数据 首先点击预览,在 easyMock 中测试接口是否可以使用 成功拿到返回值,即 easyMock 测试成功 项目中进行测试 点击复制接口地址 如上,接口调用成功!!(*^▽^*)(*^▽^*)~...

  • mock模拟的数据能增删改查吗_使用Swager API Docs和easy-mock生成模拟数据

    前面文章已经搭建了本地的easy-mock本地搭建Easy-Mock实现模拟数据常见的Mock方式:将模拟数据直接写在代码里利用javascript拦截请求利用Charles、Fiddler等工具拦截请求以上方式各有千秋,我们要说的是使用Swager API Docs和easy-mock生成模拟数据登录easy-mock创建项目点击+号创建项目填写项目信息归属 :默认已经生成好了项目名:与你的实际...

  • Easy-Mock前端+后端全解以及详细使用

    Easy Mock 是一个可视化,并且能快速生成模拟数据的持久化服务。忘掉下面这些实用但麻烦的 Mock 方式吧。在你用了 Easy Mock 之后,你肯定会爱不释手的(官方简介,确实爱不释手)常见的mock方式废话不多说,上教程。

  • 如何使用EasyMock?

    如何使用EasyMock? 在前后端分离的概念中,前端脱离与后端工作,在对好接口之后,以及后端没有假数据的情况下,可以先采用折衷的办法来请求假数据,这就有了Mock.js,可以随机生成数据,拦截ajax请求。Easy Mock 是一个可视化,并且能快速生成 模拟数据 的持久化服务。 忘掉下面这些实用但麻烦的 Mock 方式吧。在你用了 Easy Mock 之后,你肯定会爱不释手的。 话不多说,先来看一下Mock.js的语法, 1. 属性值是字符串 String 'name|min-max': str

  • EasyMock官方文档

    第一次翻译外文文档,由于水平有限,难免有纰漏之处,望海涵。

  • easy-mock本地部署与集成测试

    目录1 本地部署easy-mock2 如何导入swagger3 使用java进行集成测试3.1 前言3.2 实现 1 本地部署easy-mock 项目地址:https://github.com/easy-mock/easy-mock 下面直接在linux系统中安装(如果要使用docker安装请自行查询其他资料) (ps:注意:安装easy-mock必须先安装nodejs,我之前碰到过一个问...

  • Easymock mock 异常处理的模拟代码

    [code="java"] @Test(expected = ReferenceRetryException.class) public void testTryErrorsButHasReturn() throws Exception { String schema = "BPOS"; Map parameters = new HashMap(); par...

  • EasyMock使用说明

    开发环境版本 JDK 1.5 JUnit 3.8 EasyMock 2.2 Eclipse 3.1...

  • 如何上手EasyMock?

    简单上手EasyMock

  • 使用 EasyMock 更轻松地进行测试

    测试驱动开发是软件开发的重要部分。如果代码不进行测试,就是不可靠的。所有代码都必须测试,而且理想情况下应该在编写代码之前编写测试。但是,有 些东西容易测试,有些东西不容易。如果要编写一个代表货币值的简单的类,那么很容易测试把 $1.23 和 $2.8 相加是否能够得出 $4.03,而不是 $3.03 或 $4.029999998。测试是否不会出现 $7.465 这样的货币值也不太困难。但是,如何测...

  • easy-mock 常用的几个命令

    记录自己经常使用的几个命令: { "success": true, "data": { "projects|3-10": [{ //数据数量3-10 "id": "@id", //随机id "name": "@cname", //随机中文名字 "url": "@url", ...

  • Easy Mock 的使用

    一、导读 前后端分离开发模式下,后端还没有完成数据传输的时候,前端也不能干等着吧,主要是要联调测试对不对,不然以后怎么好甩锅给后端呢~~ (邪恶的一笑)今天就给大家介绍一个解决这个问题的方法。Easy Mock(主角) 二、Easy Mock 介绍 1、官方地址传送门(https://easy-mock.com/login)             2、登陆注册,登陆后大致界面 3、...

  • EasyMock的使用

    1.Mock 方法是单元测试中常见的一种技术,它的主要作用是模拟一些在应用中不容易构造或者比较复杂的对象,从而把测试与测试边界以外的对象隔离开。同时也可以当调用别人的模块,而该模块又没有实现时(只提供接口),我们可以在独立的环境中测试自己的模块逻辑。 2.使用前的准备,下载所需的jar包:easymock-3.0.jar(或以上版本),junit-4.4.jar,cglib-nodep-2.

  • EasyMock日记1

    private PayController payController; private HttpServletRequest request; private User user; private HttpSession session;@Before public void before(){ payController=new PayController(); user=ne

  • 使用easy-mock的ajax dataType一定要为json的原因

    使用mockjs的ajax dataType一定要为json的原因 在使用easy-mock或者mockjs的时候,如果不小心把ajax请求的dataType设置为jsonp,就会出现这种报错: 解决原因很简单,把dataType设置为json就可以了,原因就是mockjs源码里面把dataType设置为了json,所以用jsonp请求是不可以的。 如果一定要请求数据类型为jsonp,在请求...

  • Easy Mock全解及使用

    一、什么是Easy Mock Easy Mock 是一个可视化的能快速生成模拟数据的持久化服务。在实际开发中常见的Mock方式一般是将模拟数据直接写在代码里,利用JavaScript拦截请求或者利用 Charles、Fiddler等代理工具拦截请求,这样的开发效率比较低,并且产生的数据是写死的,不能去按照一定的规则去变化,并且浪费了非常多的时间,因此有了这个产品的出现,我们可以容易的访问数据,而且...

Global site tag (gtag.js) - Google Analytics