1.maven导入SpringDataRedis
<!<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency>
2.config/RedisConfiguration.class
package com.sky.config;import lombok.extern.slf4j.Slf4j;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer;
import org.springframework.data.redis.serializer.StringRedisSerializer;@Configuration
@Slf4j
public class RedisConfiguration {@Beanpublic RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) {RedisTemplate<String, Object> template = new RedisTemplate<>();template.setConnectionFactory(redisConnectionFactory);template.setKeySerializer(new StringRedisSerializer());template.setValueSerializer(new GenericJackson2JsonRedisSerializer());template.setHashKeySerializer(new StringRedisSerializer());template.setHashValueSerializer(new GenericJackson2JsonRedisSerializer());return template;}
}
3.写测试类,来操作redis/:SpringDataRedisTest
package com.sky.test;import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.redis.core.*;import java.util.concurrent.TimeUnit;@SpringBootTest
public class SpringDataRedisTest {@Autowiredprivate RedisTemplate<String, Object> redisTemplate;@Testpublic void testSpringDataRedis() {System.out.println("RedisTemplate: " + redisTemplate);ValueOperations<String, Object> value = redisTemplate.opsForValue();ListOperations<String, Object> list = redisTemplate.opsForList();HashOperations<String, Object, Object> hash = redisTemplate.opsForHash();SetOperations<String, Object> set = redisTemplate.opsForSet();ZSetOperations<String, Object> zset = redisTemplate.opsForZSet();}@Testpublic void testRedis() {ValueOperations<String, Object> value = redisTemplate.opsForValue();redisTemplate.opsForValue().setIfAbsent("code", 135790, 1, TimeUnit.MINUTES);redisTemplate.opsForValue().set("code", 135790, 1, TimeUnit.MINUTES);value.set("city", "北京");System.out.println(value.get("city"));}
}