redis的demo
1. 安装redis
2. 添加redis的maven依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency>
3. 配置redis的相关配置文件
redis: # redis数据库索引(默认为0),我们使用索引为3的数据库,避免和其他数据库冲突 database: 3
# redis服务器地址(默认为loaclhost) host: 127.0.0.1
# redis端口(默认为6379) post: 6379
# redis连接超时时间(单位毫秒) timeout: 0
# redis连接池配置 pool: # 最大可用连接数(默认为8,负数表示无限) max-active: 8 # 最大空闲连接数(默认为8,负数表示无限) max-idle: 8 # 最小空闲连接数(默认为0,该值只有为正数才有用) min-idle: 0 # 从连接池中获取连接最大等待时间(默认为-1,单位为毫秒,负数表示无限) max-wait: -1
4. 编写一个RedisConfig配置类(网上找的,这个配置的结果包括将key设置为String类型,value设置为Object类型)
@Configuration public class RedisConfig { @Bean @SuppressWarnings("all") public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory factory) { RedisTemplate<String, Object> template = new RedisTemplate<String, Object>(); template.setConnectionFactory(factory); Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class); ObjectMapper om = new ObjectMapper(); om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY); om.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL); jackson2JsonRedisSerializer.setObjectMapper(om); StringRedisSerializer stringRedisSerializer = new StringRedisSerializer(); // key采用String的序列化方式 template.setKeySerializer(stringRedisSerializer); // hash的key也采用String的序列化方式 template.setHashKeySerializer(stringRedisSerializer); // value序列化方式采用jackson template.setValueSerializer(jackson2JsonRedisSerializer); // hash的value序列化方式采用jackson template.setHashValueSerializer(jackson2JsonRedisSerializer); template.afterPropertiesSet(); return template; } }
5. 测试类(一般会封装一个工具类,其他的用法可以在工具类中查看)
//返回set集合 Set<Object> myKey1 = redisTemplate.opsForSet().members("myKey"); //放入一个键值对 redisTemplate.opsForValue().set("myKey","myValue"); //获取指定key的value Object myKey2 = redisTemplate.opsForValue().get("myKey"); //判断key是否存在 Boolean myKey3 = redisTemplate.hasKey("myKey");
个人笔记、顺便分享、欢迎指正