Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
qq_45598856
white-jotter
提交
4519b2aa
W
white-jotter
项目概览
qq_45598856
/
white-jotter
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
W
white-jotter
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
4519b2aa
编写于
4月 26, 2020
作者:
E
Evan
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
refactor: test redis
上级
0ab5788a
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
73 addition
and
4 deletion
+73
-4
src/main/java/com/gm/wj/WjApplication.java
src/main/java/com/gm/wj/WjApplication.java
+2
-0
src/main/java/com/gm/wj/config/RedisConfig.java
src/main/java/com/gm/wj/config/RedisConfig.java
+63
-0
src/main/java/com/gm/wj/entity/Category.java
src/main/java/com/gm/wj/entity/Category.java
+3
-1
src/main/java/com/gm/wj/service/BookService.java
src/main/java/com/gm/wj/service/BookService.java
+3
-0
src/main/resources/application.properties
src/main/resources/application.properties
+2
-3
未找到文件。
src/main/java/com/gm/wj/WjApplication.java
浏览文件 @
4519b2aa
...
...
@@ -2,7 +2,9 @@ package com.gm.wj;
import
org.springframework.boot.SpringApplication
;
import
org.springframework.boot.autoconfigure.SpringBootApplication
;
import
org.springframework.cache.annotation.EnableCaching
;
@EnableCaching
@SpringBootApplication
public
class
WjApplication
{
...
...
src/main/java/com/gm/wj/config/RedisConfig.java
0 → 100644
浏览文件 @
4519b2aa
package
com.gm.wj.config
;
import
com.fasterxml.jackson.annotation.JsonAutoDetect
;
import
com.fasterxml.jackson.annotation.PropertyAccessor
;
import
com.fasterxml.jackson.databind.ObjectMapper
;
import
org.springframework.cache.annotation.CachingConfigurerSupport
;
import
org.springframework.cache.annotation.EnableCaching
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.data.redis.cache.RedisCacheConfiguration
;
import
org.springframework.data.redis.cache.RedisCacheManager
;
import
org.springframework.data.redis.cache.RedisCacheWriter
;
import
org.springframework.data.redis.connection.RedisConnectionFactory
;
import
org.springframework.data.redis.core.RedisTemplate
;
import
org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer
;
import
org.springframework.data.redis.serializer.RedisSerializationContext
;
import
org.springframework.data.redis.serializer.RedisSerializer
;
import
org.springframework.data.redis.serializer.StringRedisSerializer
;
import
java.time.Duration
;
/**
* @author Evan
* @date 2020/4/23 21:51
*/
@EnableCaching
@Configuration
public
class
RedisConfig
extends
CachingConfigurerSupport
{
public
static
final
String
REDIS_KEY_DATABASE
=
"wj"
;
@Bean
public
RedisTemplate
<
String
,
Object
>
redisTemplate
(
RedisConnectionFactory
redisConnectionFactory
)
{
RedisSerializer
<
Object
>
serializer
=
redisSerializer
();
RedisTemplate
<
String
,
Object
>
redisTemplate
=
new
RedisTemplate
<>();
redisTemplate
.
setConnectionFactory
(
redisConnectionFactory
);
redisTemplate
.
setKeySerializer
(
new
StringRedisSerializer
());
redisTemplate
.
setValueSerializer
(
serializer
);
redisTemplate
.
setHashKeySerializer
(
new
StringRedisSerializer
());
redisTemplate
.
setHashValueSerializer
(
serializer
);
redisTemplate
.
afterPropertiesSet
();
return
redisTemplate
;
}
@Bean
public
RedisSerializer
<
Object
>
redisSerializer
()
{
//创建JSON序列化器
Jackson2JsonRedisSerializer
<
Object
>
serializer
=
new
Jackson2JsonRedisSerializer
<>(
Object
.
class
);
ObjectMapper
objectMapper
=
new
ObjectMapper
();
objectMapper
.
setVisibility
(
PropertyAccessor
.
ALL
,
JsonAutoDetect
.
Visibility
.
ANY
);
objectMapper
.
enableDefaultTyping
(
ObjectMapper
.
DefaultTyping
.
NON_FINAL
);
serializer
.
setObjectMapper
(
objectMapper
);
return
serializer
;
}
@Bean
public
RedisCacheManager
redisCacheManager
(
RedisConnectionFactory
redisConnectionFactory
)
{
RedisCacheWriter
redisCacheWriter
=
RedisCacheWriter
.
nonLockingRedisCacheWriter
(
redisConnectionFactory
);
//设置Redis缓存有效期为1天
RedisCacheConfiguration
redisCacheConfiguration
=
RedisCacheConfiguration
.
defaultCacheConfig
()
.
serializeValuesWith
(
RedisSerializationContext
.
SerializationPair
.
fromSerializer
(
redisSerializer
())).
entryTtl
(
Duration
.
ofDays
(
1
));
return
new
RedisCacheManager
(
redisCacheWriter
,
redisCacheConfiguration
);
}
}
src/main/java/com/gm/wj/entity/Category.java
浏览文件 @
4519b2aa
...
...
@@ -11,6 +11,8 @@ import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import
lombok.Data
;
import
lombok.ToString
;
import
java.io.Serializable
;
/**
* Category entity.
*
...
...
@@ -22,7 +24,7 @@ import lombok.ToString;
@Table
(
name
=
"category"
)
@ToString
@JsonIgnoreProperties
({
"handler"
,
"hibernateLazyInitializer"
})
public
class
Category
{
public
class
Category
{
@Id
@GeneratedValue
(
strategy
=
GenerationType
.
IDENTITY
)
@Column
(
name
=
"id"
)
...
...
src/main/java/com/gm/wj/service/BookService.java
浏览文件 @
4519b2aa
package
com.gm.wj.service
;
import
com.gm.wj.config.RedisConfig
;
import
com.gm.wj.dao.BookDAO
;
import
com.gm.wj.entity.Book
;
import
com.gm.wj.entity.Category
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.cache.annotation.Cacheable
;
import
org.springframework.data.domain.Sort
;
import
org.springframework.data.jpa.repository.Modifying
;
import
org.springframework.stereotype.Service
;
...
...
@@ -22,6 +24,7 @@ public class BookService {
@Autowired
CategoryService
categoryService
;
// @Cacheable(value = RedisConfig.REDIS_KEY_DATABASE)
public
List
<
Book
>
list
()
{
Sort
sort
=
new
Sort
(
Sort
.
Direction
.
DESC
,
"id"
);
return
bookDAO
.
findAll
(
sort
);
...
...
src/main/resources/application.properties
浏览文件 @
4519b2aa
...
...
@@ -39,9 +39,8 @@ spring.redis.host=localhost
spring.redis.port
=
6379
# Redis 数据库索引(默认为 0)
spring.redis.database
=
0
# Redis 服务器连接端口
# Redis 服务器连接密码(默认为空)
spring.redis.password
=
123
spring.redis.password
=
#连接池最大连接数(使用负值表示没有限制)
spring.redis.lettuce.pool.max-active
=
8
# 连接池最大阻塞等待时间(使用负值表示没有限制)
...
...
@@ -51,7 +50,7 @@ spring.redis.lettuce.pool.max-idle=8
# 连接池中的最小空闲连接
spring.redis.lettuce.pool.min-idle
=
0
# 连接超时时间(毫秒)
spring.redis.timeout
=
0
spring.redis.timeout
=
200
0
# redis 只用作缓存,不作为 repository
spring.data.redis.repositories.enabled
=
false
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录