`
BabyDuncan
  • 浏览: 584292 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

MemCachedClient 类 常用的方法说明

阅读更多
创建 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 类 常用的方法说明
分享到:
评论

相关推荐

    Net Memcached安装及使用说明

    - 创建`MemcachedClient`实例,通过构造函数传入服务器列表(如`new MemcachedClient("127.0.0.1:11211")`)。 4. **使用客户端方法**: - `Add(string key, object value, int expiration)`:添加或更新缓存条目...

    memcached安装和使用详细说明

    MemCachedClient client = new MemCachedClient(); String[] addr = {"127.0.0.1:11211"}; Integer[] weights = {3}; SockIOPool pool = SockIOPool.getInstance(); pool.setServers(addr); pool.setWeights...

    Centos6.5下安装Memcached完整示例

    例如,使用spymemcached,你可以创建一个MemcachedClient实例,然后调用`set`方法存储键值对,`get`方法读取数据。 ```java MemcachedClient client = new MemcachedClient(new InetSocketAddress("localhost", ...

    memcached1

    protected static MemCachedClient mcc = new MemCachedClient(); protected static MemCached memCached = new MemCached(); // 设置与缓存服务器的连接池 static { // 服务器列表和其权重 String[] ...

    memcached linux安装说明+ java客户端调用例子

    MemcachedClient client = new MemcachedClient(new BinaryConnectionFactory(), AddrUtil.getAddresses("localhost:11211")); ``` 3. **存储数据**: 使用`set`方法存储键值对,例如: ```java client.set("key...

    memcached-java_2.8,客户端,源代码,chm_api

    在这个案例中,CHM API文档是开发者理解并使用该库的重要参考资料,提供了详细的类、方法和属性说明,以及使用示例。 在Java中使用Memcached客户端,首先需要添加对应的依赖到项目中,通常是通过Maven或Gradle的...

    MemCached 简单配置和使用.doc

    将iBOS相关的jar包放入应用的lib目录下,这样你的应用程序就能访问到Memcached的相关类和方法。如果项目是基于共享库管理的,你可以选择引用这些jar包,确保它们在运行时能够被正确加载。 **第二步:配置Memcached*...

    Memcached服务端安装及其客户端简单使用[参考].pdf

    protected static MemCachedClient mcc = new MemCachedClient(); public static void main(String[] args) throws Exception { SockIOPool pool = SockIOPool.getInstance(); pool.setServers("localhost:...

    Memcached-Java-Client-3.0.2.jar中文-英文对照文档.zip

    ·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件...

    PHP内存缓存功能memcached示例

    使用PHP与memcached交互,主要使用`memcached`类提供的方法,如: - `add()`:向memcached中添加一个新的键值对,如果键已存在,添加操作会失败。 - `get()`:根据键获取存储在memcached中的数据。 - `replace()`:...

    Memcache客户端Enyim.Caching 参考的例子

    var client = new MemcachedClient(config); // 添加缓存项 client.Set("key", "value", TimeSpan.FromMinutes(1)); // 设置键为"key",值为"value",过期时间为1分钟 // 获取缓存项 var result = client.Get("key...

    Python中用memcached来减少数据库查询次数的教程

    通过导入memcache模块,并创建一个memcache.Client实例,就可以轻松地在Python中使用memcached的功能了。最常用的两个函数是set和get。set函数用于存储数据到缓存,get函数用于从缓存中获取数据。 6. 配置和运行...

    AioMemcached-0.8.4-py2.py3-none-any.whl.zip

    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-0.8.1-py2.py3-none-any.whl.zip

    AioMemcached提供了简单易用的接口,如`get`、`set`、`delete`等方法,以实现对Memcached服务器的异步操作。例如,你可以这样使用它: ```python import asyncio from aiomemcached import Client async def main...

    修改ThinkPHP缓存为Memcache的方法

    [ 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 行. ``` 这可能...

    java开源包1

    目前互联网很多服务如Open API,很多大头公司如Google,Yahoo,Microsoft等都提供了OAUTH认证服务,这些都足以说明OAUTH标准逐渐成为开放资源授权 的标准。 Java的命令行处理类库 JArgs JArgs 是一个 Java 语言用来...

    zend2.3api手册

    "ZendFramework-2.3.0-apidoc" 文件包含完整的 Zend Framework 2.3 API 文档,详细说明了每个类、接口、方法和常量,是开发过程中重要的参考资料。开发者可以通过查阅此文档了解框架的具体功能和用法,快速上手开发...

    pinpoint 中文使用文档,供大家学习

    包括但不限于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...

    PHP面试题(最牛)

    如何声明一个名为“myclass”的没有方法和属性的类 **示例代码**: ```php class myclass {} ``` #### 32. 如何实例化一个名为“myclass”的对象 **示例代码**: ```php $obj = new myclass(); ``` #### 33. 如何...

Global site tag (gtag.js) - Google Analytics