Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
H
HYH.APSJ
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
佟礼
HYH.APSJ
Commits
d15cd28e
Commit
d15cd28e
authored
Dec 26, 2025
by
DESKTOP-VKRD9QF\Administration
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
redis配置修改
parent
a8103dfb
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
50 additions
and
15 deletions
+50
-15
RedisConfiguration.java
src/main/java/com/aps/config/RedisConfiguration.java
+50
-15
No files found.
src/main/java/com/aps/config/RedisConfiguration.java
View file @
d15cd28e
...
...
@@ -2,7 +2,11 @@ package com.aps.config;
import
com.fasterxml.jackson.annotation.JsonAutoDetect
;
import
com.fasterxml.jackson.annotation.PropertyAccessor
;
import
com.fasterxml.jackson.core.JsonParser
;
import
com.fasterxml.jackson.databind.DeserializationFeature
;
import
com.fasterxml.jackson.databind.ObjectMapper
;
import
com.fasterxml.jackson.databind.SerializationFeature
;
import
com.fasterxml.jackson.datatype.jsr310.JavaTimeModule
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean
;
import
org.springframework.cache.annotation.EnableCaching
;
import
org.springframework.context.annotation.Bean
;
...
...
@@ -27,38 +31,69 @@ public class RedisConfiguration {
@Bean
@ConditionalOnMissingBean
public
RedisSerializer
<
String
>
redisKeySerializer
()
{
return
new
Jackson2JsonRedisSerializer
(
String
.
class
);
return
new
StringRedisSerializer
(
);
}
@Bean
@ConditionalOnMissingBean
public
RedisSerializer
<
Object
>
redisValueSerializer
()
{
return
new
Jackson2JsonRedisSerializer
(
Object
.
class
);
Jackson2JsonRedisSerializer
<
Object
>
serializer
=
new
Jackson2JsonRedisSerializer
<>(
Object
.
class
);
serializer
.
setObjectMapper
(
createObjectMapper
());
return
serializer
;
}
/**
* 创建支持 Java 8 日期时间的 ObjectMapper
*/
private
ObjectMapper
createObjectMapper
()
{
ObjectMapper
om
=
new
ObjectMapper
();
// 设置可见性
om
.
setVisibility
(
PropertyAccessor
.
ALL
,
JsonAutoDetect
.
Visibility
.
ANY
);
// 注册 JavaTimeModule 支持 Java 8 日期时间
om
.
registerModule
(
new
JavaTimeModule
());
// 禁用日期转时间戳
om
.
disable
(
SerializationFeature
.
WRITE_DATES_AS_TIMESTAMPS
);
// 启用默认类型信息
om
.
activateDefaultTyping
(
om
.
getPolymorphicTypeValidator
(),
ObjectMapper
.
DefaultTyping
.
NON_FINAL
);
// 配置其他选项
om
.
configure
(
DeserializationFeature
.
FAIL_ON_UNKNOWN_PROPERTIES
,
false
);
om
.
configure
(
JsonParser
.
Feature
.
ALLOW_SINGLE_QUOTES
,
true
);
om
.
configure
(
JsonParser
.
Feature
.
ALLOW_UNQUOTED_FIELD_NAMES
,
true
);
return
om
;
}
@Bean
public
RedisTemplate
redisTemplate
(
RedisConnectionFactory
factory
)
{
RedisTemplate
template
=
new
RedisTemplate
();
//LettuceConnectionFactory
public
RedisTemplate
<
String
,
Object
>
redisTemplate
(
RedisConnectionFactory
factory
)
{
RedisTemplate
<
String
,
Object
>
template
=
new
RedisTemplate
<>();
template
.
setConnectionFactory
(
factory
);
Jackson2JsonRedisSerializer
<
Object
>
jackson2JsonRedisSerializer
=
new
Jackson2JsonRedisSerializer
<
Object
>(
Object
.
class
);
ObjectMapper
om
=
new
ObjectMapper
();
om
.
setVisibility
(
PropertyAccessor
.
ALL
,
JsonAutoDetect
.
Visibility
.
ANY
);
om
.
activateDefaultTyping
(
om
.
getPolymorphicTypeValidator
(),
ObjectMapper
.
DefaultTyping
.
NON_FINAL
);
jackson2JsonRedisSerializer
.
setObjectMapper
(
om
);
// 创建支持 Java 8 日期时间的序列化器
Jackson2JsonRedisSerializer
<
Object
>
jackson2JsonRedisSerializer
=
new
Jackson2JsonRedisSerializer
<>(
Object
.
class
);
jackson2JsonRedisSerializer
.
setObjectMapper
(
createObjectMapper
());
StringRedisSerializer
stringRedisSerializer
=
new
StringRedisSerializer
();
// key采用String的序列化方式
// key 采用 String 的序列化方式
template
.
setKeySerializer
(
stringRedisSerializer
);
// hash的key也采用String的序列化方式
template
.
setHashKeySerializer
(
stringRedisSerializer
);
// value序列化方式采用jackson
// value 序列化方式采用 jackson(支持 Java 8 日期时间)
template
.
setValueSerializer
(
jackson2JsonRedisSerializer
);
// hash的value序列化方式采用jackson
template
.
setHashValueSerializer
(
jackson2JsonRedisSerializer
);
// 设置默认序列化器
template
.
setDefaultSerializer
(
jackson2JsonRedisSerializer
);
template
.
afterPropertiesSet
();
return
template
;
}
}
}
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment