依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-json</artifactId>
</dependency>
配置文件
spring.redis.host=127.0.0.1
spring.redis.port=6379
RedisTemplate
@Service
public class RedisService {
@Autowired
private RedisTemplate redisTemplate;
public void redisTemplateTest(){
ValueOperations valueOperations = redisTemplate.opsForValue();
valueOperations.set("key1","value1");
Object key1 = valueOperations.get("key1");
System.out.println(key1);
RedisConnection redisConnection = redisTemplate.getConnectionFactory().getConnection();
redisConnection.set("key2".getBytes(),"value2".getBytes());
byte[] bytes = redisConnection.get("key2".getBytes());
String value = bytes == null ? null : new String(bytes);
System.out.println(value);
}
}
StringRedisTemplate
@Configuration
public class MyRedisTemplate {
@Bean(name = "myStringRedisTemplate")
public StringRedisTemplate myStringRedisTemplate(RedisConnectionFactory factory, ObjectMapper objectMapper){
StringRedisTemplate stringRedisTemplate = new StringRedisTemplate(factory);
stringRedisTemplate.setHashValueSerializer(new Jackson2JsonRedisSerializer<Object>(Object.class));
return stringRedisTemplate;
}
}
@Service
public class RedisService {
@Autowired
@Qualifier("myStringRedisTemplate")
private StringRedisTemplate stringRedisTemplate;
@Autowired
private ObjectMapper objectMapper;
public void stringRedisTemplateTest(){
ValueOperations<String, String> valueOperations = stringRedisTemplate.opsForValue();
valueOperations.set("key1","value1");
Object key1 = valueOperations.get("key1");
System.out.println(key1);
HashOperations<String, Object, Object> hashOperations = stringRedisTemplate.opsForHash();
hashOperations.put("hashKey1","vk","vv");
Object o = hashOperations.get("hashKey1", "vk");
System.out.println(o);
HashMap<String, String> map = new HashMap<>();
map.put("123","aaa");
map.put("456","bbb");
hashOperations.putAll("hashKey2",map);
Set<Object> hashKey2 = hashOperations.keys("hashKey2");
hashKey2.forEach(obj ->{
System.out.println(o);
});
Jackson2HashMapper jackson2HashMapper = new Jackson2HashMapper(objectMapper, false);
MyUser myUser = new MyUser("admin", "123456");
Map<String, Object> objectMap = jackson2HashMapper.toHash(myUser);
hashOperations.putAll("hashKey3",objectMap);
stringRedisTemplate.convertAndSend("xxxx","message");
RedisConnection connection = stringRedisTemplate.getConnectionFactory().getConnection();
connection.subscribe(new MessageListener() {
@Override
public void onMessage(Message message, byte[] bytes) {
}
},"xxxx".getBytes());
}
}