Redis Template

与其他的 Spring Data 项目类似,Spring Data Redis 以模板的形式提供了较高等级的数据访问方案。Spring Data Redis 提供了两个模板

  • RedisTemplate

    RedisTemplate 可以极大地简化 Redis 数据访问,能够让我们持久化各种类型的 key 和 value,并不局限于字节数组。

  • StringRedisTemplate

    在认识到 key 和 value 通常是 String 类型之后,StringRedisTemplate 扩展了 RedisTemplate,只关注 String 类型。

假设已经有了 RedisConnectionFactory,那么可以按照如下的方式构建 RedisTemplate:

RedisConnectionFactory cf = ...;
RedisTemplate<String, Product> redis = new RedisTemplate<String, Product>();
redis.setConnectionFactory(cf);

如果你所使用的 value 和 key 都是 String 类型,那么可以考虑使用 StringRedisTemplate 来代替 RedisTemplate:

RedisConnectionFactory cf = ...;
RedisTemplate redis = new StringRedisTemplate();

如果经常使用 RedisTemplate 或 StringRedisTemplate 的话,可以考虑将其配置为 bean,然后注入到需要的地方。

如下就是一个声明 RedisTemplate 的简单 @Bean 方法:

@Bean
public RedisTemplate<String, Product> redisTemplate(RedisConnectionFactory cf) {
  RedisTemplate<String, Product> redis = new RedisTemplate<String, Product>();
  redis.setConnectionFactory(cf);
  return redis;
}

如下是声明 StringRedisTemplate bean 的 @Bean 方法:

@Bean
public StringRedisTemplate stringRedisTemplate(RedisConnectionFactory cf) {
  return new StringRedisTemplate(cf);
}

Last updated