config类
@Configuration
public class RedisConfig {
@Bean
public RedisTemplate redisTemplate(RedisConnectionFactory connectionFactory) {
RedisTemplate redisTemplate = new RedisTemplate<>();
redisTemplate.setConnectionFactory(connectionFactory);
redisTemplate.setKeySerializer(new StringRedisSerializer());
redisTemplate.setValueSerializer(new StringRedisSerializer());
redisTemplate.setHashKeySerializer(new StringRedisSerializer());
redisTemplate.setHashValueSerializer(new StringRedisSerializer());
return redisTemplate;
}
@Bean
@ConditionalOnMissingBean(name = "ByteRedisTemplate")
public RedisTemplate ByteRedisTemplate(
RedisConnectionFactory redisConnectionFactory) {
RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
redisTemplate.setConnectionFactory(redisConnectionFactory);
redisTemplate.setKeySerializer(new StringRedisSerializer());
redisTemplate.setValueSerializer(RedisSerializer.byteArray());
redisTemplate.setHashKeySerializer(new StringRedisSerializer());
redisTemplate.setHashValueSerializer(RedisSerializer.byteArray());
return redisTemplate;
}
}
control
@RestController
public class PublishDemo {
@Autowired
private RedisTemplate redisTemplate;
@Autowired
两种方式皆可//
//@Qualifier("ByteRedisTemplate")
@Resource(name="ByteRedisTemplate")
private RedisTemplate byteRedisTemplate;
@RequestMapping("set")
public void set() {
String key1 = "t1";
String value = "12345";
String key2 = "t2";
String value2 = "54321";
redisTemplate.opsForValue().set(key1, value);
byteRedisTemplate.opsForValue().set(key2, value2.getBytes());
}
@RequestMapping("get")
public void get() {
Object t1 = redisTemplate.opsForValue().get("t1");
System.out.println("t1:" + t1.toString());
Object o = byteRedisTemplate.opsForValue().get("t2");
System.out.println("t2:" + Arrays.toString((byte[]) o));
}
}