在当前的一个语音系统中,需要频繁进行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如下:
-
packageco.cache;
-
importcom.danga.MemCached.MemCachedClient;
-
importcom.danga.MemCached.SockIOPool;
-
publicclassMyMemCachedClient
- {
-
-
-
privatestaticMemCachedClientmemCachedClient=newMemCachedClient();
-
-
static
- {
-
-
String[]servers={"192.168.0.55:11211"};
-
Integer[]weights={3};
-
- SockIOPoolpool=SockIOPool.getInstance();
-
- pool.setServers(servers);
- pool.setWeights(weights);
-
-
-
-
-
pool.setInitConn(5);
-
pool.setMinConn(5);
-
pool.setMaxConn(250);
-
pool.setMaxIdle(1000*60*60*6);
-
-
-
-
pool.setMaintSleep(30);
-
-
-
-
-
pool.setNagle(false);
-
pool.setSocketTO(3000);
-
pool.setSocketConnectTO(0);
-
- pool.initialize();
-
-
-
memCachedClient.setCompressEnable(true);
-
memCachedClient.setCompressThreshold(64*1024);
- }
-
publicstaticMemCachedClientgetMemCachedClient()
- {
-
returnmemCachedClient;
- }
-
-
publicstaticvoidexamples()
- {
-
memCachedClient.set("foo","ThisisatestString");
-
Stringbar=(String)memCachedClient.get("foo");
- }
-
publicstaticvoidmain(String[]args)
- {
-
MyMemCachedClient.getMemCachedClient().set("foo","ThisisatestString.");
-
Stringbar=(String)MyMemCachedClient.getMemCachedClient().get("foo");
- System.out.println(bar);
- }
- }
- 和ehcache不同的是,memcached似乎只采用LRU算法, 还对付cache满员的情况。
分享到:
相关推荐
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 之前在网上搜了很久没搜到,所以找到了跟大家分享
PHP-Memcached-Demo项目,通过一个压缩包形式(php-memcached-demo.tar.gz)提供了一个实战示例,帮助开发者了解并掌握如何在PHP环境中使用Memcached作为缓存服务,以实现数据的快速访问和存储。本文将深入探讨这一...
3. Memcached.ClientLibrary.dll - 这是Memcached的C#客户端库,我们将在项目中直接使用这个库来与Memcached服务器通信。 4. Commons.dll - 这可能是一个自定义的通用功能库,包含了一些辅助函数,但具体功能需要...
memcached的java客户端jar包,方便调用memcached的服务
MemcachedClient client = new MemcachedClient(new InetSocketAddress("localhost", 11211)); ``` 3. **操作缓存**:一旦连接建立,你可以使用客户端提供的方法来操作缓存。例如,存入一个键值对: ```java ...
MemcachedClient client = new MemcachedClient(new BinaryConnectionFactory(), AddrUtil.getAddresses("127.0.0.1:11211")); ``` 5. **操作缓存** - 存储数据:使用`set`方法将键值对存入缓存,例如: ```...
MemcachedClient client = new MemcachedClient(new InetSocketAddress("localhost", 11211)); ``` 这里`localhost`是Memcached服务器的地址,`11211`是默认的Memcached端口号。 2. 存储数据: ```java client.set...
**Memcached连接Demo详解** Memcached是一款高性能、分布式内存对象缓存系统,广泛应用于Web应用中,用于减轻数据库的负载,提高数据访问速度。在这个"memcached连接demo"中,我们将深入探讨如何在不同的编程语言中...
**memcached 开发完整demo详解** `memcached` 是一个高性能、分布式的内存对象缓存系统,用于在动态系统中减少数据库负载,提升应用性能。它通过将数据存储在内存中,以键值对的形式提供高速的数据访问。在这个...
Memcached Java Client API详解.doc
Java-memcached-demo 是一个基于Java实现的Memcached缓存系统示例项目。Memcached是一种高性能、分布式内存对象缓存系统,广泛应用于减轻数据库负载,提高Web应用性能。本项目旨在帮助开发者理解如何在Java应用中...
memcached-client.php
当我们需要在Spring应用中集成Memcached时,"simple-spring-memcached"(SSM)是一个很好的选择。这篇博客(链接:https://younglibin.iteye.com/blog/2157666)将指导我们如何进行这个集成过程。 首先,我们要了解...
Memcached.ClientLibrary.dll Memcached.ClientLibrary.dll
### Memcached Client 使用手册 #### Cache Client 接口定义与功能概述 - **ICache**:作为缓存的基础接口,提供了缓存的基本操作方法。这些方法涵盖了缓存数据的存储、检索、删除等功能,旨在为应用程序提供高效...
使用JAVA连接Memcached的DEMO源码(2016)。 自己写的一个连接memcached的小DEMO,适合刚开始学习分布式缓存的同学下载学习。
本资源“memcached资源demo(已调试通过)”是一个经过实际测试和验证的Memcached应用示例,下面将详细介绍其核心知识点。 ### 1. Memcached基本概念 Memcached基于键值对存储,它将数据存储在内存中,以提供快速的...
包含memcached win32 和 win64的安装包 memcached_client_for_java 和spymemcached这两种连接方式的代码 以及需要的jar包,安装memcached服务后可以直接运行
"memcached for java client 例子" 指的是一个使用Java语言编写的客户端库,用于与memcached缓存系统进行交互。Memcached是一种高性能、分布式内存对象缓存系统,常用于减轻数据库负载,提升Web应用的响应速度。 **...