spring+mybatis+redis整合Word文档格式.docx

上传人:b****6 文档编号:18981357 上传时间:2023-01-02 格式:DOCX 页数:32 大小:26.63KB
下载 相关 举报
spring+mybatis+redis整合Word文档格式.docx_第1页
第1页 / 共32页
spring+mybatis+redis整合Word文档格式.docx_第2页
第2页 / 共32页
spring+mybatis+redis整合Word文档格式.docx_第3页
第3页 / 共32页
spring+mybatis+redis整合Word文档格式.docx_第4页
第4页 / 共32页
spring+mybatis+redis整合Word文档格式.docx_第5页
第5页 / 共32页
点击查看更多>>
下载资源
资源描述

spring+mybatis+redis整合Word文档格式.docx

《spring+mybatis+redis整合Word文档格式.docx》由会员分享,可在线阅读,更多相关《spring+mybatis+redis整合Word文档格式.docx(32页珍藏版)》请在冰豆网上搜索。

spring+mybatis+redis整合Word文档格式.docx

6.支持持久化。

(当然可能没什么用)

 

然后研究了2天怎么去整合springmybatis和redis...

新创建一个redis工具类

packagemon.utils.redis;

importjava.util.HashSet;

importjava.util.Map;

importjava.util.Set;

importorg.apache.log4j.Logger;

importredis.clients.jedis.Jedis;

importredis.clients.jedis.JedisPool;

importredis.clients.jedis.JedisPoolConfig;

/**

*

*@ClassNameRedisUtils

*@DescriptionRedis缓存工具类

*@authorK

*@Date2016年6月22日下午6:

08:

52

*@version1.0.0

*/

publicclassRedisUtils{

privatestaticLoggerlogger=Logger.getLogger(RedisUtils.class);

/**默认缓存时间*/

privatestaticfinalintDEFAULT_CACHE_SECONDS=60*60*1;

//单位秒设置成一个钟

/**连接池**/

privatestaticJedisPooljedisPool;

static{

if(jedisPool==null){

JedisPoolConfigconfig=newJedisPoolConfig();

//控制一个pool可分配多少个jedis实例,通过pool.getResource()来获取;

//如果赋值为-1,则表示不限制;

如果pool已经分配了maxActive个jedis实例,则此时pool的状态为exhausted(耗尽)。

config.setMaxIdle(8);

//控制一个pool最多有多少个状态为idle(空闲的)的jedis实例。

config.setMaxTotal(8);

//表示当borrow(引入)一个jedis实例时,最大的等待时间,如果超过等待时间,则直接抛出JedisConnectionException;

config.setMaxWaitMillis(1000*100);

//在borrow一个jedis实例时,是否提前进行validate操作;

如果为true,则得到的jedis实例均是可用的;

config.setTestOnBorrow(true);

config.setMinEvictableIdleTimeMillis(60000);

config.setTimeBetweenEvictionRunsMillis(30000);

config.setNumTestsPerEvictionRun(-1);

config.setMinIdle(0);

jedisPool=newJedisPool(config,"

192.168.11.247"

6379);

}

}

/**

*释放redis资源

*@paramjedis

privatestaticvoidreleaseResource(Jedisjedis){

if(jedis!

=null){

jedisPool.returnResource(jedis);

}

*删除Redis中的所有key

*@throwsException

publicstaticvoidflushAll(){

Jedisjedis=null;

try{

jedis=jedisPool.getResource();

jedis.flushAll();

}catch(Exceptione){

logger.error("

Cache清空失败:

"

+e);

}finally{

releaseResource(jedis);

*保存一个对象到Redis中(缓存过期时间:

使用此工具类中的默认时间).<

br/>

*@paramkey

*键.<

*@paramobject

*缓存对象.<

*@returntrueorfalse.<

publicstaticBooleansave(Objectkey,Objectobject){

returnsave(key,object,DEFAULT_CACHE_SECONDS);

*保存一个对象到redis中并指定过期时间

*@paramseconds

*过期时间(单位为秒).<

*@returntrueorfalse.

publicstaticBooleansave(Objectkey,Objectobject,intseconds){

jedis.set(SerializeUtils.serialize(key),SerializeUtils.serialize(object));

jedis.expire(SerializeUtils.serialize(key),seconds);

returntrue;

Cache保存失败:

returnfalse;

*根据缓存键获取Redis缓存中的值.<

*键.<

*@returnObject.<

publicstaticObjectget(Objectkey){

byte[]obj=jedis.get(SerializeUtils.serialize(key));

returnobj==null?

null:

SerializeUtils.unSerialize(obj);

Cache获取失败:

returnnull;

*根据缓存键清除Redis缓存中的值.<

*@return

publicstaticBooleandel(Objectkey){

jedis.del(SerializeUtils.serialize(key));

Cache删除失败:

*@paramkeys

publicstaticBooleandel(Object...keys){

jedis.del(SerializeUtils.serialize(keys));

*超时时间(单位为秒)

publicstaticBooleanexpire(Objectkey,intseconds){

Cache设置超时时间失败:

*添加一个内容到指定key的hash中

*@paramfield

*@paramvalue

publicstaticBooleanaddHash(Stringkey,Objectfield,Objectvalue){

jedis.hset(SerializeUtils.serialize(key),SerializeUtils.serialize(field),SerializeUtils.serialize(value));

*从指定hash中拿一个对象

publicstaticObjectgetHash(Objectkey,Objectfield){

byte[]obj=jedis.hget(SerializeUtils.serialize(key),SerializeUtils.serialize(field));

returnSerializeUtils.unSerialize(obj);

Cache读取失败:

*从hash中删除指定filed的值

publicstaticBooleandelHash(Objectkey,Objectfield){

longresult=jedis.hdel(SerializeUtils.serialize(key),SerializeUtils.serialize(field));

returnresult==1?

true:

false;

*拿到缓存中所有符合pattern的key

*@parampattern

publicstaticSet<

byte[]>

keys(Stringpattern){

Set<

allKey=jedis.keys(("

*"

+pattern+"

).getBytes());

returnallKey;

returnnewHashSet<

();

*获得hash中的所有keyvalue

publicstaticMap<

byte[],byte[]>

getAllHash(Objectkey){

Map<

map=jedis.hgetAll(SerializeUtils.serialize(key));

returnmap;

*判断一个key是否存在

publicstaticBooleanexists(Objectkey){

Booleanresult=false;

result=jedis.exists(SerializeUtils.serialize(key));

returnresult;

publicvoidsetjedisPool(JedisPooljedisPool){

RedisUtils.jedisPool=jedisPool;

publicstaticJedisPoolgetjedisPool(){

returnjedisPool;

}

创建一个序列化工具类

importjava.io.ByteArrayInputStream;

importjava.io.ByteArrayOutputStream;

importjava.io.ObjectInputStream;

importjava.io.ObjectOutputStream;

*@ClassNameSerializeUtils

*@Description序列化工具

*@Date2016年6月24日上午9:

44:

38

publicclassSerializeUtils{

privatestaticLoggerlogger=Logger.getLogger(SerializeUtils.class);

*@Description序列化

publicstaticbyte[]serialize(Objectobject)throwsException{

if(object==null)returnnull;

ObjectOutputStreamoos=null;

ByteArrayOutputStreambaos=null;

//序列化

baos=newByteArrayOutputStream();

oos=newObjectOutputStream(baos);

oos.writeObject(object);

byte[]bytes=baos.toByteArray();

returnbytes;

logger.error(e);

throwe;

*@Description反序列化

*@parambytes

publicstaticObjectunSerialize(byte[]bytes)throwsException{

if(bytes==null)returnnull;

ByteArrayInputStreambais=null;

//反序列化

bais=newByteArrayInputStream(bytes);

ObjectInputStreamois=newObjectInputStream(bais);

returnois.readObject();

redis管理

packagemon.utils.redis.springImpl;

importjava.util.Collection;

importorg.springframework.cache.Cache;

importorg.springframework.cache.support.AbstractCacheManager;

*@ClassNameCacheManager

*@Description继承了spring的AbstractCacheManager管理RedisCache类缓存管理

*@Date2016年6月27日下午1:

55:

49

*@param<

T>

publicclassCacheManager<

TextendsObject>

extendsAbstractCacheManager{

privateCollection<

?

extendsRedisCache>

caches;

publicvoidsetCaches(Collection<

caches){

this.caches=caches;

@Override

protectedCollection<

extendsCache>

loadCaches(){

returnthis.caches;

继承spri

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 外语学习 > 法语学习

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1