创建 client对象 设置参数:
MemCachedClient mc = new MemCachedClient();
//压缩模式
mc.setCompressEnable(true);
// 如果 cache数据 大于4 KB 就启用压缩
mc.setCompressThreshold(4096);
// 基本类型tostring方法
// 通常不需要设置
mc.setPrimitiveAsString(true);
存储一个对象:
MemCachedClient mc = new MemCachedClient();
String key = "cacheKey1";
Object value = SomeClass.getObject();
mc.set(key, value);
用客户端hashcode 存储一个对象:
MemCachedClient mc = new MemCachedClient();
String key = "cacheKey1";
Object value = SomeClass.getObject();
Integer hash = new Integer(45);
mc.set(key, value, hash);
set方法:在cache中存储一个指定对象
add 和replace 方法功能差不多
add -- 如果不存在 这个key的对象,将会存储一个对象到cache中
replace --只有当存在指定key对象的时候 会覆盖已有对象
删除一个对象:
MemCachedClient mc = new MemCachedClient();
String key = "cacheKey1";
mc.delete(key);
结合hashcode 删除一个对象:
MemCachedClient mc = new MemCachedClient();
String key = "cacheKey1";
Integer hash = new Integer(45);
mc.delete(key, hashCode);
怎么cache计数,增 减计数:
MemCachedClient mc = new MemCachedClient();
String key = "counterKey";
mc.storeCounter(key, new Integer(100));
System.out.println("counter after adding 1: " mc.incr(key));
System.out.println("counter after adding 5: " mc.incr(key, 5));
System.out.println("counter after subtracting 4: " mc.decr(key, 4));
System.out.println("counter after subtracting 1: " mc.decr(key));
利用客户端的hashcode存储计数 增减 计数:
MemCachedClient mc = new MemCachedClient();
String key = "counterKey";
Integer hash = new Integer(45);
mc.storeCounter(key, new Integer(100), hash);
System.out.println("counter after adding 1: " mc.incr(key, 1, hash));
System.out.println("counter after adding 5: " mc.incr(key, 5, hash));
System.out.println("counter after subtracting 4: " mc.decr(key, 4, hash));
System.out.println("counter after subtracting 1: " mc.decr(key, 1, hash));
获取一个对象:
MemCachedClient mc = new MemCachedClient();
String key = "key";
Object value = mc.get(key);
用客户端hashcode获取一个对象:
MemCachedClient mc = new MemCachedClient();
String key = "key";
Integer hash = new Integer(45);
Object value = mc.get(key, hash);
从cache 中获取多个对象
MemCachedClient mc = new MemCachedClient();
String[] keys ={ "key", "key1", "key2" };Mapvalues = mc.getMulti(keys);
用客户端hashcode() 从cache中获取多个对象
MemCachedClient mc = new MemCachedClient();
String[] keys = { "key", "key1", "key2" };
Integer[] hashes =
{ new Integer(45), new Integer(32), new Integer(44) };
Map<Object> values = mc.getMulti(keys, hashes);
清空所有的对象
MemCachedClient mc = new MemCachedClient();
mc.flushAll();
得到服务器memcached的状态信息
MemCachedClient mc = new MemCachedClient();
Map stats = mc.stats();
注意点
1:Failover/Failback
当一个memcached服务器失效的时候客户端默认会failover另一个服务去.
如果失效的服务器 恢复运行,客户端会返回到原来连接的服务器.
如果你不想用这个功能 设置下面的参数
pool.setFailover( false );
pool.setFailback( false );
2:序列化
Boolean
Byte
String
Character
StringBuffer
StringBuilder
Short
Long
Double
Float
Date
java默认的类型没有实现序列化 可以设置
mcc.setPrimitiveAsString( true )替代.
Meetup.com实践过程中得出的一个经验 ,项目中model 对象implement
Externalizable 实现序列化,可以节省cache 对象的大小。从而节省网络带宽和内存空间。
出处:http://hqman.blog.bokee.net/bloggermodule/blog_printEntry.do?id=980314MemCachedClient 类 常用的方法说明
分享到:
相关推荐
- 创建`MemcachedClient`实例,通过构造函数传入服务器列表(如`new MemcachedClient("127.0.0.1:11211")`)。 4. **使用客户端方法**: - `Add(string key, object value, int expiration)`:添加或更新缓存条目...
MemCachedClient client = new MemCachedClient(); String[] addr = {"127.0.0.1:11211"}; Integer[] weights = {3}; SockIOPool pool = SockIOPool.getInstance(); pool.setServers(addr); pool.setWeights...
例如,使用spymemcached,你可以创建一个MemcachedClient实例,然后调用`set`方法存储键值对,`get`方法读取数据。 ```java MemcachedClient client = new MemcachedClient(new InetSocketAddress("localhost", ...
protected static MemCachedClient mcc = new MemCachedClient(); protected static MemCached memCached = new MemCached(); // 设置与缓存服务器的连接池 static { // 服务器列表和其权重 String[] ...
MemcachedClient client = new MemcachedClient(new BinaryConnectionFactory(), AddrUtil.getAddresses("localhost:11211")); ``` 3. **存储数据**: 使用`set`方法存储键值对,例如: ```java client.set("key...
在这个案例中,CHM API文档是开发者理解并使用该库的重要参考资料,提供了详细的类、方法和属性说明,以及使用示例。 在Java中使用Memcached客户端,首先需要添加对应的依赖到项目中,通常是通过Maven或Gradle的...
将iBOS相关的jar包放入应用的lib目录下,这样你的应用程序就能访问到Memcached的相关类和方法。如果项目是基于共享库管理的,你可以选择引用这些jar包,确保它们在运行时能够被正确加载。 **第二步:配置Memcached*...
protected static MemCachedClient mcc = new MemCachedClient(); public static void main(String[] args) throws Exception { SockIOPool pool = SockIOPool.getInstance(); pool.setServers("localhost:...
·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件...
使用PHP与memcached交互,主要使用`memcached`类提供的方法,如: - `add()`:向memcached中添加一个新的键值对,如果键已存在,添加操作会失败。 - `get()`:根据键获取存储在memcached中的数据。 - `replace()`:...
var client = new MemcachedClient(config); // 添加缓存项 client.Set("key", "value", TimeSpan.FromMinutes(1)); // 设置键为"key",值为"value",过期时间为1分钟 // 获取缓存项 var result = client.Get("key...
通过导入memcache模块,并创建一个memcache.Client实例,就可以轻松地在Python中使用memcached的功能了。最常用的两个函数是set和get。set函数用于存储数据到缓存,get函数用于从缓存中获取数据。 6. 配置和运行...
from aio memcached import Client async def main(): client = await Client(['127.0.0.1:11211']) await client.set('key', 'value') result = await client.get('key') print(result) # 输出:value await ...
AioMemcached提供了简单易用的接口,如`get`、`set`、`delete`等方法,以实现对Memcached服务器的异步操作。例如,你可以这样使用它: ```python import asyncio from aiomemcached import Client async def main...
[ 2010-09-30T11:41:56+08:00 ] NOTIC: [8] MemcachePool::set(): Server 127.0.0.1 (tcp 11211, udp 0) failed with: CLIENT_ERROR bad command line format (0) CacheMemcache.class.php 第 107 行. ``` 这可能...
目前互联网很多服务如Open API,很多大头公司如Google,Yahoo,Microsoft等都提供了OAUTH认证服务,这些都足以说明OAUTH标准逐渐成为开放资源授权 的标准。 Java的命令行处理类库 JArgs JArgs 是一个 Java 语言用来...
"ZendFramework-2.3.0-apidoc" 文件包含完整的 Zend Framework 2.3 API 文档,详细说明了每个类、接口、方法和常量,是开发过程中重要的参考资料。开发者可以通过查阅此文档了解框架的具体功能和用法,快速上手开发...
包括但不限于JDK 6+、Tomcat 6/7/8和Jetty 8/9、Spring、Spring Boot、Apache HTTP Client 3.x/4.x、JDK HttpConnector、GoogleHttpClient、OkHttpClient、AsyncHttpClient、Thrift Client和服务、Memcached、Redis...
如何声明一个名为“myclass”的没有方法和属性的类 **示例代码**: ```php class myclass {} ``` #### 32. 如何实例化一个名为“myclass”的对象 **示例代码**: ```php $obj = new myclass(); ``` #### 33. 如何...