Xmemcached与spring的整合

我本地安装了个windows版的memcached客户端,并添加为windows服务。

添加maven包:

        <dependency>
            <groupId>com.google.code.simple-spring-memcached</groupId>
            <artifactId>xmemcached-provider</artifactId>
            <scope>runtime</scope>
        </dependency>

做个简单的testcase:

package com.raycloud.maijia.schedule.utils;

import java.io.IOException;
import java.util.concurrent.TimeoutException;

import net.rubyeye.xmemcached.MemcachedClient;
import net.rubyeye.xmemcached.XMemcachedClient;
import net.rubyeye.xmemcached.exception.MemcachedException;

import org.junit.Test;

public class TestMemcached {
    
    @Test
    public void testIt(){
        try {
            MemcachedClient client = new XMemcachedClient("127.0.0.1", 11556);
            String testVal = "this is a test demo.";
            client.set("test_key", 10, testVal);
            Thread.sleep(5000);
            System.out.println("=================" + client.get("test_key"));
            Thread.sleep(15000);
            System.out.println("=================" + client.get("test_key"));
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (TimeoutException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (InterruptedException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (MemcachedException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
    
    
}

输出结果:

13:51:57.904 [Xmemcached-Reactor-2] DEBUG c.g.c.y.core.impl.AbstractSession - read 64 bytes from channel
=================this is a test demo.
13:52:02.906 [Xmemcached-Reactor-2] DEBUG n.r.xmemcached.impl.MemcachedHandler - Check session (%s) is alive,send heartbeat
13:52:02.907 [Xmemcached-Reactor-2] DEBUG c.g.c.y.core.impl.AbstractSession - After encodingversion

13:52:02.908 [Xmemcached-Reactor-2] DEBUG n.rubyeye.xmemcached.impl.Optimizer - Optimieze merge buffer:version

13:52:02.908 [Xmemcached-Reactor-2] DEBUG c.g.c.y.core.impl.AbstractSession - send buffers:
[
 buffer:position=0,limit=9,capacity=9
]
13:52:02.910 [Xmemcached-Reactor-2] DEBUG c.g.c.y.core.impl.AbstractSession - read 16 bytes from channel
13:52:07.911 [Xmemcached-Reactor-2] DEBUG n.r.xmemcached.impl.MemcachedHandler - Check session (%s) is alive,send heartbeat
13:52:07.912 [Xmemcached-Reactor-2] DEBUG c.g.c.y.core.impl.AbstractSession - After encodingversion

13:52:07.912 [Xmemcached-Reactor-2] DEBUG n.rubyeye.xmemcached.impl.Optimizer - Optimieze merge buffer:version

13:52:07.912 [Xmemcached-Reactor-2] DEBUG c.g.c.y.core.impl.AbstractSession - send buffers:
[
 buffer:position=0,limit=9,capacity=9
]
13:52:07.924 [Xmemcached-Reactor-2] DEBUG c.g.c.y.core.impl.AbstractSession - read 16 bytes from channel
13:52:12.906 [main] DEBUG c.g.c.y.core.impl.AbstractSession - After encodingget test_key

13:52:12.907 [Xmemcached-Reactor-2] DEBUG n.rubyeye.xmemcached.impl.Optimizer - Optimieze merge buffer:get test_key

13:52:12.908 [Xmemcached-Reactor-2] DEBUG c.g.c.y.core.impl.AbstractSession - send buffers:
[
 buffer:position=0,limit=14,capacity=14
]
13:52:12.909 [Xmemcached-Reactor-2] DEBUG c.g.c.y.core.impl.AbstractSession - read 5 bytes from channel
=================null

spring配置:

    <bean name="memcachedClient" class="net.rubyeye.xmemcached.utils.XMemcachedClientFactoryBean" destroy-method="shutdown">
        <property name="servers">
            <value>${memcached.url}</value>
        </property>

        <property name="commandFactory">
            <bean class="net.rubyeye.xmemcached.command.BinaryCommandFactory"></bean>
        </property>
    </bean>

(未完待续)

时间: 2024-08-05 11:01:44

Xmemcached与spring的整合的相关文章

使用memcached客户端Xmemcached与Spring整合

1 简介 Xmemcached是一个高性能的基于java nio的memcached客户端.在经过三个RC版本后,正式发布1.10-final版本. xmemcached特性一览: 1.高性能 2.支持完整的memcached文本协议,二进制协议将在1.2版本实现. 3.支持JMX,可以通过MBean调整性能参数.动态添加/移除server.查看统计等. 4.支持客户端统计 5.支持memcached节点的动态增减. 6.支持memcached分布:余数分布和一致性哈希分布. 7.更多的性能调整

spring中整合memcached,以及创建memcache的put和get方法

spring中整合memcached,以及创建memcache的put和get方法: 1:在项目中导入memcache相关的jar包 2:memcache在spring.xml的配置: 代码: 1 <?xml version="1.0" encoding="UTF-8"?> 2 <beans xmlns="http://www.springframework.org/schema/beans" 3 xmlns:xsi="

spring boot 整合 quartz 集群环境 实现 动态定时任务配置【原】

最近做了一个spring boot 整合 quartz  实现 动态定时任务配置,在集群环境下运行的 任务.能够对定时任务,动态的进行增删改查,界面效果图如下: 1. 在项目中引入jar 2. 将需要的表导入数据库 官网上有不同数据库的脚本,找到对应的,导入即可 3. java 代码 将quartz 的相关配置文件,配置为暴露bean,方便后期引用. 有一处关键的地方,就是注入spring 上下文,也可以算是一个坑.如果,不注入spring 上下文,那么新添加的定时任务job,是新new 的一个

Spring与Struts2整合VS Spring与Spring MVC整合

Spring与Struts2整合,struts.xml在src目录下 1.在web.xml配置监听器 web.xml <!-- 配置Spring的用于初始化ApplicationContext的监听器 --> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <contex

struts2+hibernate-jpa+Spring+maven 整合(2)

之前的一篇已经讲到了 spring 与struts2 的整合, 其实对于struts2+hibernate-jpa+Spring 之间的整合的文章已经相当多了, 也相当成熟了,只要不是各自的版本不兼容之外,其他的几乎没啥问题, 不行mybatis那样是不是的冒点让人头疼的事情来 下面修改pom.xml ,把hibernate 的jar 关联进来; <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="

spring mvc整合mybaitis和log4j

在上一篇博客中,我介绍了在mac os上用idea搭建spring mvc的maven工程,但是一个完整的项目肯定需要数据库和日志管理,下面我就介绍下spring mvc整合mybatis和log4j 一.先把需要用到的jar包配置到pom.xml上(主要是mybaitis和mysql驱动包) <!-- mybatis/spring包 --> <dependency> <groupId>org.mybatis</groupId> <artifactId

Spring+MyBatis整合

1.创建一个web工程.工程名为ssm 2.导入Spring,MyBatis,Oracle和MySQL以及MyBatis提供的与Spring整合的插件包 mysql的jar文件:mysql-connector-java-5.1.7-bin.jar oracle的jar文件:ojdbc5.jar c3p0的jar文件:c3p0-0.9.1.2.jar mybatis的jar文件: asm-3.3.1.jar cglib-2.2.2.jar commons-logging-1.1.1.jar log

spring+hibernate整合:报错org.hibernate.HibernateException: No Session found for current thread

spring+hibernate整合:报错信息如下 org.hibernate.HibernateException: No Session found for current thread at org.springframework.orm.hibernate4.SpringSessionContext.currentSession(SpringSessionContext.java:106) at org.hibernate.internal.SessionFactoryImpl.getC

Spring+Hibernate整合配置 --- 比较完整的spring、hibernate 配置

Spring+Hibernate整合配置 分类: J2EE2010-11-25 17:21 16667人阅读 评论(1) 收藏 举报 springhibernateclassactionservletmysql 在公司一直没有什么机会直接折腾SSH“原生态”的SSH当今比较流行的轻量级的框架,用着公司的框架也是郁闷异常,今天没事整整原来用过的一个项目的配置,发现就算是自己曾经用过的东西,如果较长时间不返过去重新学习,许多你半熟不熟的知识就是异常陌生.下面贴上我的一些配置,暂且权当备份吧. web