`
ihuashao
  • 浏览: 4760385 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

a simple memcached client Demo

阅读更多
在当前的一个语音系统中,需要频繁进行I/O操作, 为了应付未来可能出现的高并发访问, 初步计划引入缓存机制。
在诸多缓存中, ehcache口碑不错, 我之前也写过一篇文章介绍ehcache的使用:
http://lcllcl987.iteye.com/blog/222693

但ehcache不是一个分布式缓存解决方案。
所以, 就初选memcached了:
http://www.danga.com/memcached/

memcached的安装交给google,略过不表。


下面是两个memcached client的java实现:
http://www.whalin.com/memcached/
http://code.google.com/p/spymemcached/


http://www.whalin.com/memcached/
为例, 它的文档不错, 就不多说了。 test如下:
  1. packageco.cache;
  2. importcom.danga.MemCached.MemCachedClient;
  3. importcom.danga.MemCached.SockIOPool;
  4. publicclassMyMemCachedClient
  5. {
  6. //createastaticclientasmostinstallsonlyneed
  7. //asingleinstance
  8. privatestaticMemCachedClientmemCachedClient=newMemCachedClient();
  9. //setupconnectionpoolonceatclassload
  10. static
  11. {
  12. //serverlistandweights
  13. String[]servers={"192.168.0.55:11211"};
  14. Integer[]weights={3};
  15. //grabaninstanceofourconnectionpool
  16. SockIOPoolpool=SockIOPool.getInstance();
  17. //settheserversandtheweights
  18. pool.setServers(servers);
  19. pool.setWeights(weights);
  20. //setsomebasicpoolsettings
  21. //5initial,5min,and250maxconns
  22. //andsetthemaxidletimeforaconn
  23. //to6hours
  24. pool.setInitConn(5);
  25. pool.setMinConn(5);
  26. pool.setMaxConn(250);
  27. pool.setMaxIdle(1000*60*60*6);
  28. //setthesleepforthemaintthread
  29. //itwillwakeupeveryxsecondsand
  30. //maintainthepoolsize
  31. pool.setMaintSleep(30);
  32. //setsomeTCPsettings
  33. //disablenagle
  34. //setthereadtimeoutto3secs
  35. //anddon'tsetaconnecttimeout
  36. pool.setNagle(false);
  37. pool.setSocketTO(3000);
  38. pool.setSocketConnectTO(0);
  39. //initializetheconnectionpool
  40. pool.initialize();
  41. //letssetsomecompressiononfortheclient
  42. //compressanythinglargerthan64k
  43. memCachedClient.setCompressEnable(true);
  44. memCachedClient.setCompressThreshold(64*1024);
  45. }
  46. publicstaticMemCachedClientgetMemCachedClient()
  47. {
  48. returnmemCachedClient;
  49. }
  50. //fromhereondown,youcancallanyoftheclientcalls
  51. publicstaticvoidexamples()
  52. {
  53. memCachedClient.set("foo","ThisisatestString");
  54. Stringbar=(String)memCachedClient.get("foo");
  55. }
  56. publicstaticvoidmain(String[]args)
  57. {
  58. MyMemCachedClient.getMemCachedClient().set("foo","ThisisatestString.");
  59. Stringbar=(String)MyMemCachedClient.getMemCachedClient().get("foo");
  60. System.out.println(bar);
  61. }
  62. }
  63. 和ehcache不同的是,memcached似乎只采用LRU算法, 还对付cache满员的情况。

分享到:
评论

相关推荐

    memcached安装包以及MemCachedClient

    MemcachedClient client = new MemcachedClient(AddrUtil.getAddresses("localhost:11211")); // 设置 key-value client.set("key", 30, "value").get(); // 获取 value String value = (String) client....

    memcachedclient-2.0.1.jar

    memcachedclient-2.0.1.jar 之前在网上搜了很久没搜到,所以找到了跟大家分享

    php-memcached-demo.tar.gz

    PHP-Memcached-Demo项目,通过一个压缩包形式(php-memcached-demo.tar.gz)提供了一个实战示例,帮助开发者了解并掌握如何在PHP环境中使用Memcached作为缓存服务,以实现数据的快速访问和存储。本文将深入探讨这一...

    c# asp.net memcached client 调用示例

    3. Memcached.ClientLibrary.dll - 这是Memcached的C#客户端库,我们将在项目中直接使用这个库来与Memcached服务器通信。 4. Commons.dll - 这可能是一个自定义的通用功能库,包含了一些辅助函数,但具体功能需要...

    memcached client for java

    memcached的java客户端jar包,方便调用memcached的服务

    Memcached Demo 01.zip

    MemcachedClient client = new MemcachedClient(new InetSocketAddress("localhost", 11211)); ``` 3. **操作缓存**:一旦连接建立,你可以使用客户端提供的方法来操作缓存。例如,存入一个键值对: ```java ...

    java使用memcached demo

    MemcachedClient client = new MemcachedClient(new BinaryConnectionFactory(), AddrUtil.getAddresses("127.0.0.1:11211")); ``` 5. **操作缓存** - 存储数据:使用`set`方法将键值对存入缓存,例如: ```...

    memcaChed java client jar包

    MemcachedClient client = new MemcachedClient(new InetSocketAddress("localhost", 11211)); ``` 这里`localhost`是Memcached服务器的地址,`11211`是默认的Memcached端口号。 2. 存储数据: ```java client.set...

    memcached连接demo

    **Memcached连接Demo详解** Memcached是一款高性能、分布式内存对象缓存系统,广泛应用于Web应用中,用于减轻数据库的负载,提高数据访问速度。在这个"memcached连接demo"中,我们将深入探讨如何在不同的编程语言中...

    memcached开发完整demo

    **memcached 开发完整demo详解** `memcached` 是一个高性能、分布式的内存对象缓存系统,用于在动态系统中减少数据库负载,提升应用性能。它通过将数据存储在内存中,以键值对的形式提供高速的数据访问。在这个...

    Memcached Java Client API详解

    Memcached Java Client API详解.doc

    Java-memcached-demo

    Java-memcached-demo 是一个基于Java实现的Memcached缓存系统示例项目。Memcached是一种高性能、分布式内存对象缓存系统,广泛应用于减轻数据库负载,提高Web应用性能。本项目旨在帮助开发者理解如何在Java应用中...

    memcached-client.php

    memcached-client.php

    simple-spring-memcached集成memcache

    当我们需要在Spring应用中集成Memcached时,"simple-spring-memcached"(SSM)是一个很好的选择。这篇博客(链接:https://younglibin.iteye.com/blog/2157666)将指导我们如何进行这个集成过程。 首先,我们要了解...

    Memcached.ClientLibrary.dll

    Memcached.ClientLibrary.dll Memcached.ClientLibrary.dll

    Memcached Client 使用手册

    ### Memcached Client 使用手册 #### Cache Client 接口定义与功能概述 - **ICache**:作为缓存的基础接口,提供了缓存的基本操作方法。这些方法涵盖了缓存数据的存储、检索、删除等功能,旨在为应用程序提供高效...

    使用JAVA连接Memcached的DEMO源码(2016)

    使用JAVA连接Memcached的DEMO源码(2016)。 自己写的一个连接memcached的小DEMO,适合刚开始学习分布式缓存的同学下载学习。

    memcached资源demo(已调试通过)

    本资源“memcached资源demo(已调试通过)”是一个经过实际测试和验证的Memcached应用示例,下面将详细介绍其核心知识点。 ### 1. Memcached基本概念 Memcached基于键值对存储,它将数据存储在内存中,以提供快速的...

    MemcachedDemo

    包含memcached win32 和 win64的安装包 memcached_client_for_java 和spymemcached这两种连接方式的代码 以及需要的jar包,安装memcached服务后可以直接运行

    memcached for java client 例子

    "memcached for java client 例子" 指的是一个使用Java语言编写的客户端库,用于与memcached缓存系统进行交互。Memcached是一种高性能、分布式内存对象缓存系统,常用于减轻数据库负载,提升Web应用的响应速度。 **...

Global site tag (gtag.js) - Google Analytics