0
点赞
收藏
分享

微信扫一扫

Spring Boot RedisTemplate 各种数据类型示例

月半小夜曲_ 2023-09-22 阅读 39


  1. 首先,需要配置Redis的连接信息并加载RedisTemplate实例。

@Configuration
public class RedisConfig {
 
    @Bean
    public JedisConnectionFactory jedisConnectionFactory() {
        RedisStandaloneConfiguration config = new RedisStandaloneConfiguration();
        config.setHostName("localhost");
        config.setPort(6379);
        return new JedisConnectionFactory(config);
    }
 
    @Bean
    public RedisTemplate<String, Object> redisTemplate() {
        RedisTemplate<String, Object> template = new RedisTemplate<>();
        template.setConnectionFactory(jedisConnectionFactory());
        template.setKeySerializer(new StringRedisSerializer());
        template.setValueSerializer(new GenericJackson2JsonRedisSerializer());
        return template;
    }
}

  1. 使用String类型的示例:

@Autowired
private RedisTemplate<String, Object> redisTemplate;
 
public void addString(String key, String value) {
    redisTemplate.opsForValue().set(key, value);
}
 
public String getString(String key) {
    return (String) redisTemplate.opsForValue().get(key);
}

  1. 使用Hash类型的示例:

@Autowired
private RedisTemplate<String, Object> redisTemplate;
 
public void addHash(String key, String hashKey, Object value) {
    redisTemplate.opsForHash().put(key, hashKey, value);
}
 
public Object getHash(String key, String hashKey) {
    return redisTemplate.opsForHash().get(key, hashKey);
}

  1. 使用List类型的示例:

@Autowired
private RedisTemplate<String, Object> redisTemplate;
 
public void addList(String key, Object value) {
    redisTemplate.opsForList().rightPush(key, value);
}
 
public Object getList(String key) {
    return redisTemplate.opsForList().range(key, 0, -1);
}

  1. 使用Set类型的示例:

@Autowired
private RedisTemplate<String, Object> redisTemplate;
 
public void addSet(String key, Object value) {
    redisTemplate.opsForSet().add(key, value);
}
 
public Object getSet(String key) {
    return redisTemplate.opsForSet().members(key);
}

  1. 使用ZSet类型的示例:

@Autowired
private RedisTemplate<String, Object> redisTemplate;
 
public void addZSet(String key, Object value, double score) {
    redisTemplate.opsForZSet().add(key, value, score);
}
 
public Object getZSet(String key) {
    return redisTemplate.opsForZSet().rangeWithScores(key, 0, -1);
}


举报

相关推荐

0 条评论