说明:本文章主要是一个配置类,一个控制类
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> <version>2.1.7.RELEASE</version> </dependency>
spring.redis.host=127.0.0.1 spring.redis.port=6379
配置类
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; /** * @author 李庆伟 * @date 2021/1/11 11:06 */ @Configuration public class RedisTemplateConfig { @Bean public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) { RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>(); redisTemplate.setConnectionFactory(redisConnectionFactory); // 设置键(key)的序列化采用StringRedisSerializer。 redisTemplate.setKeySerializer(new StringRedisSerializer()); //redisTemplate.setValueSerializer(new JdkSerializationRedisSerializer());//设置值(value)的序列化采用jdk // 设置值(value)的序列化采用FastJsonRedisSerializer。 redisTemplate.setValueSerializer(new GenericJackson2JsonRedisSerializer()); //redisTemplate.setValueSerializer(new GenericJackson2JsonRedisSerializer()); //redisTemplate.setHashValueSerializer(fastJsonRedisSerializer); redisTemplate.setHashKeySerializer(new StringRedisSerializer()); redisTemplate.afterPropertiesSet(); return redisTemplate; } }
控制层
import com.example.dev.model.User; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.Arrays; import java.util.List; import java.util.concurrent.TimeUnit; /** * @author 李庆伟 * @date 2021/1/14 14:53 */ @RestController @RequestMapping("redisTemplateDemo") public class RedisTemplateController { @Autowired private RedisTemplate redisTemplate; @GetMapping("addRedisOne") public String addRedisOne(){ List<String> listVal = Arrays.asList("a","b","c"); redisTemplate.opsForValue().set("listVal",listVal,5, TimeUnit.MINUTES); List<String> list = (List<String>) redisTemplate.opsForValue().get("listVal"); System.out.println(list.get(0)); return "abc"; } @GetMapping("addRedisTwo") public String addRedisTwo(){ User u = new User(); u.setId("a"); u.setName("啊啊"); redisTemplate.opsForValue().set("user",u,5, TimeUnit.MINUTES); Object object = redisTemplate.opsForValue().get("user"); User user = (User) object; System.out.println(user.getId()); return "abc"; } }