Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
doc_wei
Skyeye
提交
b1348d25
S
Skyeye
项目概览
doc_wei
/
Skyeye
通知
1173
Star
154
Fork
127
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
S
Skyeye
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
b1348d25
编写于
12月 03, 2021
作者:
doc_wei
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
新增redis缓存工具类
上级
64de9893
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
98 addition
and
0 deletion
+98
-0
skyeye-common/src/main/java/com/skyeye/cache/redis/RedisCache.java
...mmon/src/main/java/com/skyeye/cache/redis/RedisCache.java
+98
-0
未找到文件。
skyeye-common/src/main/java/com/skyeye/cache/redis/RedisCache.java
0 → 100644
浏览文件 @
b1348d25
/*******************************************************************************
* Copyright 卫志强 QQ:598748873@qq.com Inc. All rights reserved. 开源地址:https://gitee.com/doc_wei01/skyeye
******************************************************************************/
package
com.skyeye.cache.redis
;
import
com.gexin.fastjson.JSON
;
import
com.skyeye.common.util.ToolUtil
;
import
com.skyeye.jedis.JedisClientService
;
import
net.sf.json.JSONArray
;
import
net.sf.json.JSONObject
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.function.Function
;
/**
* @ClassName: RedisCache
* @Description: redis缓存工具类
* @author: skyeye云系列--卫志强
* @date: 2021/12/3 20:30
* @Copyright: 2021 https://gitee.com/doc_wei01/skyeye Inc. All rights reserved.
* 注意:本内容仅限购买后使用.禁止私自外泄以及用于其他的商业目的
*/
@Component
public
class
RedisCache
{
private
static
Logger
LOGGER
=
LoggerFactory
.
getLogger
(
RedisCache
.
class
);
@Autowired
private
JedisClientService
jedisClient
;
/**
* 从Redis缓存中获取数据
*
* @param key 缓存key
* @param loader 缓存中没有时,从此方法中获取
* @param seconds 缓存时间,单位:秒
* @return
*/
public
List
<
Map
<
String
,
Object
>>
getList
(
String
key
,
Function
<
String
,
Object
>
loader
,
int
seconds
){
String
value
=
getData
(
key
,
loader
,
seconds
);
if
(
value
==
null
){
return
null
;
}
return
JSONArray
.
fromObject
(
value
);
}
/**
* 从Redis缓存中获取数据
*
* @param key 缓存key
* @param loader 缓存中没有时,从此方法中获取
* @param seconds 缓存时间,单位:秒
* @return
*/
public
Map
<
String
,
Object
>
getMap
(
String
key
,
Function
<
String
,
Object
>
loader
,
int
seconds
){
String
value
=
getData
(
key
,
loader
,
seconds
);
if
(
value
==
null
){
return
null
;
}
return
JSONObject
.
fromObject
(
value
);
}
/**
* 从Redis缓存中获取数据
*
* @param key 缓存key
* @param loader 缓存中没有时,从此方法中获取
* @param seconds 缓存时间,单位:秒
* @return
*/
public
String
getString
(
String
key
,
Function
<
String
,
Object
>
loader
,
int
seconds
){
return
getData
(
key
,
loader
,
seconds
);
}
private
String
getData
(
String
key
,
Function
<
String
,
Object
>
loader
,
int
seconds
){
String
value
=
jedisClient
.
get
(
key
);
if
(
ToolUtil
.
isBlank
(
value
))
{
LOGGER
.
info
(
"get data mation from function, key is {}"
,
key
);
value
=
JSON
.
toJSONString
(
loader
.
apply
(
key
));
if
(
value
!=
null
)
{
jedisClient
.
set
(
key
,
value
,
seconds
);
}
}
else
{
LOGGER
.
info
(
"get data mation from redis cache, key is {}"
,
key
);
}
if
(
value
==
null
){
return
null
;
}
return
value
;
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录