博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
xmemcached的使用以及与spring的整合
阅读量:7058 次
发布时间:2019-06-28

本文共 4084 字,大约阅读时间需要 13 分钟。

hot3.png

memcache:http://memcached.org/

github地址:https://github.com/killme2008/xmemcached

其他客户端:

https://code.google.com/archive/p/spymemcached/

http://github.com/gwhalin/Memcached-Java-Client

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

添加maven包:

    
      
com.googlecode.xmemcached
      
xmemcached
      
2.0.0
    

做个简单的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 heartbeat13:52:02.907 [Xmemcached-Reactor-2] DEBUG c.g.c.y.core.impl.AbstractSession - After encodingversion13:52:02.908 [Xmemcached-Reactor-2] DEBUG n.rubyeye.xmemcached.impl.Optimizer - Optimieze merge buffer:version13: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 channel13:52:07.911 [Xmemcached-Reactor-2] DEBUG n.r.xmemcached.impl.MemcachedHandler - Check session (%s) is alive,send heartbeat13:52:07.912 [Xmemcached-Reactor-2] DEBUG c.g.c.y.core.impl.AbstractSession - After encodingversion13:52:07.912 [Xmemcached-Reactor-2] DEBUG n.rubyeye.xmemcached.impl.Optimizer - Optimieze merge buffer:version13: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 channel13:52:12.906 [main] DEBUG c.g.c.y.core.impl.AbstractSession - After encodingget test_key13:52:12.907 [Xmemcached-Reactor-2] DEBUG n.rubyeye.xmemcached.impl.Optimizer - Optimieze merge buffer:get test_key13: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配置:

    
        
            
${memcached.url}
                
            
            

此处注意对象的比较和变量的比较

其他:

memcached客户端集群,以及使用repcached补丁实现主从复制:

还可以使用代理服务:http://code.google.com/p/memagent/

常见问题:

一、net.rubyeye.xmemcached.exception.MemcachedException: Binary protocol doesn't support iterating all keys in memcached

二进制协议不支持遍历key,文本协议支持(memcache不建议遍历key,后续版本可能会下线)

KeyIterator it = memcachedClient.getKeyIterator(new        InetSocketAddress("127.0.0.1", 11556));while(it.hasNext()){    String key = it.next();    logger.info("=========key========" + key);}

转载于:https://my.oschina.net/wnjustdoit/blog/356822

你可能感兴趣的文章
input checkbox复选框点击获取当前选中状态jquery
查看>>
Git 安装与简单使用(新手必看)
查看>>
leetcode-143. Reorder List
查看>>
glusterfs 步骤
查看>>
浅谈gibbs sampling(LDA实验)
查看>>
Asp.net 后台添加CSS、JS、Meta标签
查看>>
以前的GHOST系统没落,现在 原版WINDOWS更新节奏还快 MSDN itellyou
查看>>
一些JavaScript中的DOM的优化小技巧
查看>>
用PrintStream向文件输入内容
查看>>
412. Fizz Buzz
查看>>
Uva 10879 - Code Refactoring
查看>>
控制总线上发送的控制信息
查看>>
c#解析xml
查看>>
每日一句(15)
查看>>
读书笔记--SQL必知必会--建立练习环境
查看>>
捕获、冒泡
查看>>
P3369 【模板】普通平衡树(Treap/SBT)
查看>>
【转】如何实现vb与excel的无缝连接
查看>>
[异常笔记]启动DFS报错:Cannot find configuration directory: /etc/hadoop
查看>>
Wwise Unreal Engine 集成代码浅析 (三)
查看>>