Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
sika-code edited this page Jul 20, 2019 · 2 revisions

redis【redis缓存组件】

What

  • 封装与Redis交互的组件

Why

  • 降低集成Redis的难度
  • 规范Redis访问方式

How

  • 定义通用的RedisKey工具类
  • 封装Redis的配置
  • 封装Redis序列化细节

Redis组件使用说明

名称 备注
RedisConfig Redis配置类
FastJson2JsonRedisSerializer 使用FastJson进行序列化
RedisObjectSerializer 使用Srping提供的SerializingConverter进行序列化
RedisUtil redis工具类

示例

1 添加配置

spring:
 redis:
 host: localhost # 主机地址
 port: 6397 # 端口
 timeout: 3000 # 超时时间
 
 pool: # 连接池配置
 max-active: 2000 # 连接池最大连接数(使用负值表示没有限制)
 max-idle: 500 # 连接池中的最大空闲连接
 min-idle: 50 # 连接池中的最小空闲连接
 max-wait: 1000 # 连接池最大阻塞等待时间(使用负值表示没有限制)
 

2 使用

@Component(value = "redisTemplateTest")
public class DemoTestRedis {
 @Autowired
 private RedisTemplate redisTemplate;
 public void testSet(User user) {
 String prefix = "user";
 String function = "update";
 String userNo = "u-20190921213254-00001";
 String redisKey = RedisUtil.generateRedisKey(prefix, function, userNo);
 redisTemplate.opsForValue().set(redisKey, user);
 }
 public User testGet(String userNo) {
 String prefix = "user";
 String function = "update";
 String redisKey = RedisUtil.generateRedisKey(prefix, function, userNo);
 return (User) redisTemplate.opsForValue().get(redisKey);
 }
 
 @Data
 public static class User {
 private String userName;
 }
 
}

Clone this wiki locally

AltStyle によって変換されたページ (->オリジナル) /