Memcached中我们常常需要自定义一些数据,所以,单纯的Key-Value的格式无法完成需求,所以我们需要把这个value部分 对象化,而memcache里面要 存储对象并非传统,它需要用工具序列化才行,如下列代码:
import java.io.Serializable; public class TBean implements Serializable { private static final long serialVersionUID = 1945562032261336919L; private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } }
对基本的数据我们可以操作,对于普通的POJO而言,如果要进行存储的话,那么比如让其实现java.io.Serializable接口,因为memcached是一个分布式的缓存服务器,多台服务器间进行数据共享需要将对象序列化的,所以必须实现该接口,否则会报错的。比如我们写一个简单的测试Bean如下:
测试用例:
public class TestMemcached extends TestCase {
private static MemCachedManager cache; @Test public void testCache() { TBean tb = new TBean(); tb.setName("E网打进"); cache.add("bean", tb); TBean tb1 = (TBean) cache.get("bean"); System.out.println("name=" + tb1.getName()); tb1.setName("E网打进_修改的"); tb1 = (TBean) cache.get("bean"); System.out.println("name=" + tb1.getName()); } @Override protected void setUp() throws Exception { super.setUp(); cache = MemCachedManager.getInstance(); } @Override protected void tearDown() throws Exception { super.tearDown(); cache = null; } }