RedisUtil.docx

上传人:b****4 文档编号:11591547 上传时间:2023-03-19 格式:DOCX 页数:18 大小:17.09KB
下载 相关 举报
RedisUtil.docx_第1页
第1页 / 共18页
RedisUtil.docx_第2页
第2页 / 共18页
RedisUtil.docx_第3页
第3页 / 共18页
RedisUtil.docx_第4页
第4页 / 共18页
RedisUtil.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

RedisUtil.docx

《RedisUtil.docx》由会员分享,可在线阅读,更多相关《RedisUtil.docx(18页珍藏版)》请在冰豆网上搜索。

RedisUtil.docx

RedisUtil

packagecom.example.demo02.util;

importorg.springframework.beans.factory.annotation.Autowired;

importorg.springframework.data.redis.core.RedisTemplate;

importorg.springframework.stereotype.Component;

importorg.springframework.util.CollectionUtils;

importjava.util.List;

importjava.util.Map;

importjava.util.Set;

importjava.util.concurrent.TimeUnit;

/**

*@Author:

80003451

*@Date:

2018/12/415:

43

*这个RedisUtils交给Spring容器实例化,使用时直接注解注入

*/

@Component

publicclassRedisUtil{

@Autowired

privateRedisTemplateredisTemplate;

//=============================common============================

/**

*指定缓存失效时间

*

*@paramkey键

*@paramtime时间(秒)

*@return

*/

publicbooleanexpire(Stringkey,longtime){

try{

if(time>0){

redisTemplate.expire(key,time,TimeUnit.SECONDS);

}

returntrue;

}catch(Exceptione){

e.printStackTrace();

returnfalse;

}

}

/**

*根据key获取过期时间

*

*@paramkey键不能为null

*@return时间(秒)返回0代表为永久有效

*/

publiclonggetExpire(Stringkey){

returnredisTemplate.getExpire(key,TimeUnit.SECONDS);

}

/**

*判断key是否存在

*

*@paramkey键

*@returntrue存在false不存在

*/

publicbooleanhasKey(Stringkey){

try{

returnredisTemplate.hasKey(key);

}catch(Exceptione){

e.printStackTrace();

returnfalse;

}

}

/**

*删除缓存

*@paramkey可以传一个值或多个

*/

@SuppressWarnings("unchecked")

publicvoiddel(String...key){

if(key!

=null&&key.length>0){

if(key.length==1){

redisTemplate.delete(key[0]);

}else{

redisTemplate.delete(CollectionUtils.arrayToList(key));

}

}

}

//============================String=============================

/**

*普通缓存获取

*

*@paramkey键

*@return值

*/

publicObjectget(Stringkey){

returnkey==null?

null:

redisTemplate.opsForValue().get(key);

}

/**

*普通缓存放入

*@paramkey键

*@paramvalue值

*@returntrue成功false失败

*/

publicbooleanset(Stringkey,Objectvalue){

try{

redisTemplate.opsForValue().set(key,value);

returntrue;

}catch(Exceptione){

e.printStackTrace();

returnfalse;

}

}

/**

*普通缓存放入并设置时间

*

*@paramkey键

*@paramvalue值

*@paramtime时间(秒)time要大于0如果time小于等于0将设置无限期

*@returntrue成功false失败

*/

publicbooleanset(Stringkey,Objectvalue,longtime){

try{

if(time>0){

redisTemplate.opsForValue().set(key,value,time,TimeUnit.SECONDS);

}else{

set(key,value);

}

returntrue;

}catch(Exceptione){

e.printStackTrace();

returnfalse;

}

}

/**

*递增

*

*@paramkey键

*@paramdelta要增加几(大于0)

*@return

*/

publiclongincr(Stringkey,longdelta){

if(delta<0){

thrownewRuntimeException("递增因子必须大于0");

}

returnredisTemplate.opsForValue().increment(key,delta);

}

/**

*递减

*

*@paramkey键

*@paramdelta要减少几(小于0)

*@return

*/

publiclongdecr(Stringkey,longdelta){

if(delta<0){

thrownewRuntimeException("递减因子必须大于0");

}

returnredisTemplate.opsForValue().increment(key,-delta);

}

//================================Map=================================

/**

*HashGet

*

*@paramkey键不能为null

*@paramitem项不能为null

*@return值

*/

publicObjecthget(Stringkey,Stringitem){

returnredisTemplate.opsForHash().get(key,item);

}

/**

*获取hashKey对应的所有键值

*

*@paramkey键

*@return对应的多个键值

*/

publicMaphmget(Stringkey){

returnredisTemplate.opsForHash().entries(key);

}

/**

*HashSet

*

*@paramkey键

*@parammap对应多个键值

*@returntrue成功false失败

*/

publicbooleanhmset(Stringkey,Mapmap){

try{

redisTemplate.opsForHash().putAll(key,map);

returntrue;

}catch(Exceptione){

e.printStackTrace();

returnfalse;

}

}

/**

*HashSet并设置时间

*

*@paramkey键

*@parammap对应多个键值

*@paramtime时间(秒)

*@returntrue成功false失败

*/

publicbooleanhmset(Stringkey,Mapmap,longtime){

try{

redisTemplate.opsForHash().putAll(key,map);

if(time>0){

expire(key,time);

}

returntrue;

}catch(Exceptione){

e.printStackTrace();

returnfalse;

}

}

/**

*向一张hash表中放入数据,如果不存在将创建

*

*@paramkey键

*@paramitem项

*@paramvalue值

*@returntrue成功false失败

*/

publicbooleanhset(Stringkey,Stringitem,Objectvalue){

try{

redisTemplate.opsForHash().put(key,item,value);

returntrue;

}catch(Exceptione){

e.printStackTrace();

returnfalse;

}

}

/**

*向一张hash表中放入数据,如果不存在将创建

*

*@paramkey键

*@paramitem项

*@paramvalue值

*@paramtime时间(秒)注意:

如果已存在的hash表有时间,这里将会替换原有的时间

*@returntrue成功false失败

*/

publicbooleanhset(Stringkey,Stringitem,Objectvalue,longtime){

try{

redisTemplate.opsForHash().put(key,item,value);

if(time>0){

expire(key,time);

}

returntrue;

}catch(Exceptione){

e.printStackTrace();

returnfalse;

}

}

/**

*删除hash表中的值

*

*@paramkey键不能为null

*@paramitem项可以使多个不能为null

*/

publicvoidhdel(Stringkey,Object...item){

redisTemplate.opsForHash().delete(key,item);

}

/**

*判断hash表中是否有该项的值

*

*@paramkey键不能为null

*@paramitem项不能为null

*@returntrue存在false不存在

*/

publicbooleanhHasKey(Stringkey,Stringitem){

returnredisTemplate.opsForHash().hasKey(key,item);

}

/**

*hash递增如果不存在,就会创建一个并把新增后的值返回

*

*@paramkey键

*@paramitem项

*@paramby要增加几(大于0)

*@return

*/

publicdoublehincr(Stringkey,Stringitem,doubleby){

returnredisTemplate.opsForHash().increment(key,item,by);

}

/**

*hash递减

*

*@paramkey键

*@paramitem项

*@paramby要减少记(小于0)

*@return

*/

publicdoublehdecr(Stringkey,Stringitem,doubleby){

returnredisTemplate.opsForHash().increment(key,item,-by);

}

//============================set=============================

/**

*根据key获取Set中的所有值

*

*@paramkey键

*@return

*/

publicSetsGet(Stringkey){

try{

returnredisTemplate.opsForSet().members(key);

}catch(Exceptione){

e.printStackTrace();

returnnull;

}

}

/**

*根据value从一个set中查询,是否存在

*@paramkey键

*@paramvalue值

*@returntrue存在false不存在

*/

publicbooleansHasKey(Stringkey,Objectvalue){

try{

returnredisTemplate.opsForSet().isMember(key,value);

}catch(Exceptione){

e.printStackTrace();

returnfalse;

}

}

/**

*将数据放入set缓存

*@paramkey键

*@paramvalues值可以是多个

*@return成功个数

*/

publiclongsSet(Stringkey,Object...values){

try{

returnredisTemplate.opsForSet().add(key,values);

}catch(Exceptione){

e.printStackTrace();

return0;

}

}

/**

*将set数据放入缓存

*@paramkey键

*@paramtime时间(秒)

*@paramvalues值可以是多个

*@return成功个数

*/

publiclongsSetAndTime(Stringkey,longtime,Object...values){

try{

Longcount=redisTemplate.opsForSet().add(key,values);

if(time>0)

expire(key,time);

returncount;

}catch(Exceptione){

e.printStackTrace();

return0;

}

}

/**

*获取set缓存的长度

*

*@paramkey键

*@return

*/

publiclongsGetSetSize(Stringkey){

try{

returnredisTemplate.opsForSet().size(key);

}catch(Exceptione){

e.printStackTrace();

return0;

}

}

/**

*移除值为value的

*@paramkey键

*@paramvalues值可以是多个

*@return移除的个数

*/

publiclongsetRemove(Stringkey,Object...values){

try{

Longcount=redisTemplate.opsForSet().remove(key,values);

returncount;

}catch(Exceptione){

e.printStackTrace();

return0;

}

}

//===============================list=================================

/**

*获取list缓存的内容

*@paramkey键

*@paramstart开始

*@paramend结束0到-1代表所有值

*@return

*/

publicListlGet(Stringkey,longstart,longend){

try{

returnredisTemplate.opsForList().range(key,start,end);

}catch(Exceptione){

e.printStackTrace();

returnnull;

}

}

/**

*获取list缓存的长度

*@paramkey键

*@return

*/

publiclonglGetListSize(Stringkey){

try{

returnredisTemplate.opsForList().size(key);

}catch(Exceptione){

e.printStackTrace();

return0;

}

}

/**

*通过索引获取list中的值

*@paramkey键

*@paramindex索引index>=0时,0表头,1第二个元素,依次类推;index<0时,-1,表尾,-2倒数第二个元素,依次类推

*@return

*/

publicObjectlGetIndex(Stringkey,longindex){

try{

returnredisTemplate.opsForList().index(key,index);

}catch(Exceptione){

e.printStackTrace();

returnnull;

}

}

/**

*将list放入缓存

*@paramkey键

*@paramvalue值

*@return

*/

publicbooleanlSet(Stringkey,Objectvalue){

try{

redisTemplate.opsForList().rightPush(key,value);

returntrue;

}catch(Exceptione){

e.printStackTrace();

returnfalse;

}

}

/**

*将list放入缓存

*@paramkey键

*@paramvalue值

*@paramtime时间(秒)

*@return

*/

publicbooleanlSet(Stringkey,Objectvalue,longtime){

try{

redisTemplate.opsForList().rightPush(key,value);

if(time>0)

expire(key,time);

returntrue;

}catch(Exceptione){

e.printStackTrace();

returnfalse;

}

}

/**

*将list放入缓存

*@paramkey键

*@paramvalue值

*@return

*/

publicbooleanlSet(Stringkey,Listvalue){

try{

redisTemplate.opsForList().rightPushAll(key,value);

returntrue;

}catch(Exceptione){

e.printStackTrace();

returnfalse;

}

}

/**

*将list放入缓存

*@paramkey键

*@paramvalue值

*@paramtime时间(秒)

*@return

*/

publicbooleanlSet(Stringkey,Listvalue,longtime){

try{

redisTemplate.opsForList().rightPushAll(key,value);

if(time>0)

expire(key,time);

returntrue;

}catch(Exceptione){

e.printStackTrace();

returnfalse;

}

}

/**

*根据索引修改list中的某条数据

*@paramkey键

*@paramindex索引

*@paramvalue值

*@return

*/

publicbooleanlUpdateIndex(Stringkey,longindex,Objectvalue){

try{

redisTemplate.o

展开阅读全文
相关搜索

当前位置:首页 > 人文社科

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

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