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");

 

posted @ 2021-02-02 16:56  气球i  阅读(184)  评论(0编辑  收藏  举报