Java中使用memcache缓存
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java中使用memcache缓存相关的知识,希望对你有一定的参考价值。
一、简要概述:
memcache集群环境下缓存解决方案,是一个高性能的分布式的内存对象缓存系统,通过在内存库里维护一个统一的巨大的hash表,存储各种数据,包括图像、视频、文件以及数据库检索结果等。
简单的说就是讲数据调用到存储中,后从内存中读取,从而大大提高读取速度。memcache是这个项目的名称,而memcached是它的服务端的主程序文件名。
二、常用方法:
1、初始化memcache
//初始化memcache
public static void initMemcache(){
String[] servers = {"127.0.0.1:11211"};
SockIOPool pool = SockIOPool.getInstance();
pool.setServers(servers);
pool.setFailover(true);
pool.setInitConn(10);
pool.setMinConn(5);
pool.setMaxConn(250);
pool.setMaintSleep(30);
pool.setNagle(false);
pool.setSocketTO(3000);
pool.setAliveCheck(true);
pool.initialize();
}
2、创建缓存
/**
* 创建缓存
* @param key 键
* @param value 值
*/
public static void createMemcache(String key, Object value){
//创建client对象
MemCachedClient mclent = new MemCachedClient();
//创建缓存
mclent.set(key, value);
}
3、删除指定缓存
/**
* 删除指定缓存
* @param key 键
*/
public static void deleteMemcache(String key){
MemCachedClient mclent = new MemCachedClient();
mclent.delete(key);
}
4、获取缓存
/**
* 获取缓存
* @param key 键
* @return 值
*/
public static Object getMemcache(String key){
MemCachedClient mclent = new MemCachedClient();
Object value = mclent.get(key);
return value;
}
5、获取多个缓存
/**
* 获取多个缓存对象
* @param keys
* @return
*/
public static Map<String, Object> getManyMemcache(String[] keys){
MemCachedClient mclent = new MemCachedClient();
Map<String, Object> m = mclent.getMulti(keys);
return m;
}
6、清空指定类型的缓存
/**
* 清除指定类型的缓存
* @param str
* @return
*/
public static boolean flashLMemcache(String[] str){
MemCachedClient mclent = new MemCachedClient();
mclent.flushAll(str);
return true;
}
7、清空所有缓存
/**
*清空缓存
* @return
*/
public static boolean flashMemcache(){
MemCachedClient mclent = new MemCachedClient();
mclent.flushAll();
return true;
}
三、演示与测试:
/**
* memcache,存储调用测试
*/
AbMemcache.initMemcache();
AbMemcache.createMemcache("redant", "今天20181106");
Object obj = AbMemcache.getMemcache("redant");
System.err.println(obj);
演示结果:
/**
- memcache,删除指定缓存
*/
AbMemcache.deleteMemcache("redant");
System.err.println(AbMemcache.getMemcache("redant"));
/** - 清空全部缓存
*/
AbMemcache.flashMemcache();
System.err.println(AbMemcache.getMemcache("redant"));
演示结果:
以上是关于Java中使用memcache缓存的主要内容,如果未能解决你的问题,请参考以下文章