JBoss.orgCommunity Documentation

第 11 章 缓存

11.1. 概述
11.2. 接口文档
11.3. 代码示例
11.4. 注意事项

缓存(CacheTool)为开发者提供了访问缓存的接口, 缓存使用者无需关心缓存基础设施连接方式,不关心缓存是否发生主从切换等,只需要正确调用相应的缓存API。

请参考 apidocs

清除某个namespace下的所有数据:

final ServiceResult<Boolean> result = 
	CacheTool.getInstance().cleanCustomNameSpace("testNamespace");
Assert.assertTrue(result.isSucceed());
            

检查某个key是否存在:

final ServiceResult<Boolean> result = CacheTool.getInstance().contains("testKey");
boolean exists = result.isSucceed() && result.getData();
            

删除某个key:

final ServiceResult<Boolean> result = CacheTool.getInstance().delete(key, namespace);
Assert.assertTrue(result.isSucceed());
            

批量删除某些key:

final ServiceResult<Boolean> result = CacheTool.getInstance().deleteAll(keys, namespace);
Assert.assertTrue(result.isSucceed());
            

删除设置过超时时间的key

final ServiceResult<Boolean> result = CacheTool.getInstance().delTimeKey(key);
Assert.assertTrue(result.isSucceed());
            

获取某个key值

final ServiceResult<Serializable> result = CacheTool.getInstance().get(key);
Object value = result == null ? null : result.getData();
            

批量获取某些keys的值

final ServiceResult<Collection<Object>> result = CacheTool.getInstance().getAll(keys);
Collection<Object> values = result == null ? null : result.getData();
            

获取当前应用的id

final String appid = CacheTool.getInstance().getAppid();
            

获取某个namespace下对应key的值

final ServiceResult<Serializable> result = 
	CacheTool.getInstance().getCustomNameSpace(key, namespace);
Object value = result == null ? null : result.getData();
            

获取设置过超时时间的key的值

final ServiceResult<Serializable> result = CacheTool.getInstance().getTimeKey(key);
Object value = result == null ? null : result.getData();
            

设置某个key的值:

final ServiceResult<Boolean> result = CacheTool.getInstance().put(key, value);
Assert.assertTrue(result.isSucceed());
            

设置某些带命名空间的键值对的缓存:

final ServiceResult<Boolean> result = 
	CacheTool.getInstance().putAllCustomNameSpace(paris, namespace);
Assert.assertTrue(result.isSucceed());
            

设置某个带命名空间的key的值:

final ServiceResult<Boolean> result = 
	CacheTool.getInstance().putCustomNameSpace(key, value, namespace);
Assert.assertTrue(result.isSucceed());
            

设置某个超时key的值及其超时时间:

final ServiceResult<Boolean> result = 
	CacheTool.getInstance().putTimeKey(key, value, minutes);
Assert.assertTrue(result.isSucceed());