RedisUtil文档格式.docx
- 文档编号:8215050
- 上传时间:2023-05-10
- 格式:DOCX
- 页数:18
- 大小:17.09KB
RedisUtil文档格式.docx
《RedisUtil文档格式.docx》由会员分享,可在线阅读,更多相关《RedisUtil文档格式.docx(18页珍藏版)》请在冰点文库上搜索。
publicclassRedisUtil{
@Autowired
privateRedisTemplate<
String,Object>
redisTemplate;
//=============================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是否存在
*@returntrue存在false不存在
publicbooleanhasKey(Stringkey){
returnredisTemplate.hasKey(key);
*删除缓存
*@paramkey可以传一个值或多个
@SuppressWarnings("
unchecked"
)
publicvoiddel(String...key){
if(key!
=null&
&
key.length>
if(key.length==1){
redisTemplate.delete(key[0]);
}else{
redisTemplate.delete(CollectionUtils.arrayToList(key));
}
//============================String=============================
*普通缓存获取
*@return值
publicObjectget(Stringkey){
returnkey==null?
null:
redisTemplate.opsForValue().get(key);
*普通缓存放入
*@paramvalue值
*@returntrue成功false失败
publicbooleanset(Stringkey,Objectvalue){
redisTemplate.opsForValue().set(key,value);
*普通缓存放入并设置时间
*@paramtime时间(秒)time要大于0如果time小于等于0将设置无限期
*@returntrue成功false失败
publicbooleanset(Stringkey,Objectvalue,longtime){
redisTemplate.opsForValue().set(key,value,time,TimeUnit.SECONDS);
set(key,value);
*递增
*@paramdelta要增加几(大于0)
publiclongincr(Stringkey,longdelta){
if(delta<
thrownewRuntimeException("
递增因子必须大于0"
);
returnredisTemplate.opsForValue().increment(key,delta);
*递减
*@paramdelta要减少几(小于0)
publiclongdecr(Stringkey,longdelta){
thrownewRuntimeException("
递减因子必须大于0"
returnredisTemplate.opsForValue().increment(key,-delta);
//================================Map=================================
*HashGet
*@paramitem项不能为null
publicObjecthget(Stringkey,Stringitem){
returnredisTemplate.opsForHash().get(key,item);
*获取hashKey对应的所有键值
*@return对应的多个键值
publicMap<
Object,Object>
hmget(Stringkey){
returnredisTemplate.opsForHash().entries(key);
*HashSet
*@parammap对应多个键值
*@returntrue成功false失败
publicbooleanhmset(Stringkey,Map<
map){
redisTemplate.opsForHash().putAll(key,map);
*HashSet并设置时间
map,longtime){
expire(key,time);
returnfalse;
*向一张hash表中放入数据,如果不存在将创建
*@paramitem项
*@returntrue成功false失败
publicbooleanhset(Stringkey,Stringitem,Objectvalue){
redisTemplate.opsForHash().put(key,item,value);
*@paramkey键
*@paramtime时间(秒)注意:
如果已存在的hash表有时间,这里将会替换原有的时间
publicbooleanhset(Stringkey,Stringitem,Objectvalue,longtime){
*删除hash表中的值
*@paramitem项可以使多个不能为null
publicvoidhdel(Stringkey,Object...item){
redisTemplate.opsForHash().delete(key,item);
*判断hash表中是否有该项的值
publicbooleanhHasKey(Stringkey,Stringitem){
returnredisTemplate.opsForHash().hasKey(key,item);
*hash递增如果不存在,就会创建一个并把新增后的值返回
*@paramby要增加几(大于0)
publicdoublehincr(Stringkey,Stringitem,doubleby){
returnredisTemplate.opsForHash().increment(key,item,by);
*hash递减
*@paramby要减少记(小于0)
publicdoublehdecr(Stringkey,Stringitem,doubleby){
returnredisTemplate.opsForHash().increment(key,item,-by);
//============================set=============================
*根据key获取Set中的所有值
publicSet<
Object>
sGet(Stringkey){
returnredisTemplate.opsForSet().members(key);
returnnull;
*根据value从一个set中查询,是否存在
publicbooleansHasKey(Stringkey,Objectvalue){
returnredisTemplate.opsForSet().isMember(key,value);
*将数据放入set缓存
*@paramvalues值可以是多个
*@return成功个数
publiclongsSet(Stringkey,Object...values){
returnredisTemplate.opsForSet().add(key,values);
return0;
*将set数据放入缓存
publiclongsSetAndTime(Stringkey,longtime,Object...values){
Longcount=redisTemplate.opsForSet().add(key,values);
0)
returncount;
*获取set缓存的长度
publiclongsGetSetSize(Stringkey){
returnredisTemplate.opsForSet().size(key);
*移除值为value的
*@return移除的个数
publiclongsetRemove(Stringkey,Object...values){
Longcount=redisTemplate.opsForSet().remove(key,values);
//===============================list=================================
*获取list缓存的内容
*@paramstart开始
*@paramend结束0到-1代表所有值
publicList<
lGet(Stringkey,longstart,longend){
returnredisTemplate.opsForList().range(key,start,end);
*获取list缓存的长度
publiclonglGetListSize(Stringkey){
returnredisTemplate.opsForList().size(key);
return0;
*通过索引获取list中的值
*@paramindex索引index>
=0时,0表头,1第二个元素,依次类推;
index<
0时,-1,表尾,-2倒数第二个元素,依次类推
publicObjectlGetIndex(Stringkey,longindex){
returnredisTemplate.opsForList().index(key,index);
*将list放入缓存
publicbooleanlSet(Stringkey,Objectvalue){
redisTemplate.opsForList().rightPush(key,value);
publicbooleanlSet(Stringkey,Objectvalue,longtime){
publicbooleanlSet(Stringkey,List<
value){
redisTemplate.opsForList().rightPushAll(key,value);
value,longtime){
*根据索引修改list中的某条数据
*@paramindex索引
publicbooleanlUpdateIndex(Stringkey,longindex,Objectvalue){
redisTemplate.o
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- RedisUtil