Skip to content
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