Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
iBiz4j Spring R7
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
iBiz-R7后台标准模板
iBiz4j Spring R7
提交
e4172616
提交
e4172616
编写于
1月 13, 2021
作者:
zhouweidong
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
修复缓存allEntries
上级
26e74698
变更
1
隐藏空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
11 行增加
和
5 行删除
+11
-5
RedisMessageListener.java.ftl
...KGPATH%/util/cache/listener/RedisMessageListener.java.ftl
+11
-5
未找到文件。
SLN/%PUBPRJ%-util/src/main/java/%SYS_PKGPATH%/util/cache/listener/RedisMessageListener.java.ftl
浏览文件 @
e4172616
...
...
@@ -11,6 +11,7 @@ import org.springframework.data.redis.core.RedisTemplate;
import
org
.
springframework
.
data
.
redis
.
listener
.
adapter
.
MessageListenerAdapter
;
import
org
.
springframework
.
data
.
redis
.
serializer
.
RedisSerializer
;
import
org
.
springframework
.
util
.
StringUtils
;
import
org
.
springframework
.
util
.
ObjectUtils
;
import
java
.
util
.
Map
;
import
${
pub
.
getPKGCodeName
()}.
util
.
cache
.
cache
.
LayeringCache
;
import
${
pub
.
getPKGCodeName
()}.
util
.
enums
.
RedisChannelTopic
;
...
...
@@ -37,20 +38,25 @@ public class RedisMessageListener extends MessageListenerAdapter {
if
(
result
instanceof
Map
){
map
=
(
Map
<
String
,
Object
>)
result
;
}
if
(
StringUtils
.
isEmpty
(
map
)||
(
!map.containsKey("cacheName"))
|| (!map.containsKey("key"))
){
if
(
StringUtils
.
isEmpty
(
map
)||
(
!map.containsKey("cacheName"))){
log
.
debug
(
"解析缓存数据失败,无法获取指定值!"
);
return
;
}
log
.
debug
(
"redis消息订阅者接收到频道【{}】发布的消息。消息内容:{}"
,
channelTopic
.
getChannelTopicStr
(),
result
.
toString
());
String
cacheName
=
(
String
)
map
.
get
(
"cacheName"
);
Object
key
=
map
.
get
(
"key"
);
Cache
cache
=
cacheManager
.
getCache
(
cacheName
);//
根据缓存名称获取多级缓存
if
(
cache
!= null && cache instanceof LayeringCache) { // 判断缓存是否是多级缓存
switch
(
channelTopic
)
{
case
REDIS_CACHE_DELETE_TOPIC
:
//
获取一级缓存,并删除一级缓存数据
((
LayeringCache
)
cache
).
getFirstCache
().
evict
(
key
);
((
LayeringCache
)
cache
).
getSecondCache
().
evict
(
key
);
log
.
debug
(
"同步删除缓存{}数据,key:{},"
,
cacheName
,
key
.
toString
());
Object
cacheKey
=
map
.
get
(
"key"
);
if
(
!ObjectUtils.isEmpty(cacheKey)){
((
LayeringCache
)
cache
).
getFirstCache
().
evict
(
cacheKey
);
((
LayeringCache
)
cache
).
getSecondCache
().
evict
(
cacheKey
);
log
.
debug
(
"同步删除缓存{}数据,key:{},"
,
cacheName
,
cacheKey
.
toString
());
}
else
{
log
.
debug
(
"同步删除缓存失败,{}缓存键值为空!"
,
cacheName
);
}
break
;
case
REDIS_CACHE_CLEAR_TOPIC
://
获取一级缓存,并删除一级缓存数据
((
LayeringCache
)
cache
).
getFirstCache
().
clear
();
...
...
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录