JAVA学习实战(三)Redis实际使用

Redis的简单介绍以及内部的结构之前的帖子里已经写到过,感兴趣的可以看一下这一篇文章 今天我们主要看Redis的使用以及使用Redis完成一些小的功能 安装Redis。并且在pom.xml中加入 spring-boot-starter-data-redis 起步依赖。在 application.properties 上配置Redis。 在 config 中配置 RedisConfig 类,返回 RedisTemplate 类。该类可以对 Redis 数据库进行操作。

@Configuration
public class RedisConfig {
          
   

    @Bean
    public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory factory) {
          
   
        RedisTemplate<String, Object> template = new RedisTemplate<>();
        template.setConnectionFactory(factory);

        // 设置key的序列化方式
        template.setKeySerializer(RedisSerializer.string());
        // 设置value的序列化方式
        template.setValueSerializer(RedisSerializer.json());
        // 设置hash的key的序列化方式
        template.setHashKeySerializer(RedisSerializer.string());
        // 设置hash的value的序列化方式
        template.setHashValueSerializer(RedisSerializer.json());

        template.afterPropertiesSet();
        return template;
    }

}

Redis中的key值都在 RedisKeyUtil 中定义,这样集中在一个Util的好处是能够增加代码的复用性,提高可读性,因为Redis是一个非结构性数据库,所以想要去存储不同类型的数据就要在Key的前缀或者命名上进行区分 下面是一个业务代码项目里面的RedisKeyUtil实现方法

后面其实就是redis的简单使用了 实际使用并不难,只需要

@Autowired
private RedisTemplate redisTemplate;

然后再方法中使用注入的redisTemplate进行操作即可 比如:

// 计算帖子分数
String redisKey = RedisKeyUtil.getPostScoreKey();
redisTemplate.opsForSet().add(redisKey, discussPostId);

其实还想写一点关于Redis源码的阅读的,不过今天时间有点紧(要出去摸鱼了)所以就以后有时间再更新8

经验分享 程序员 微信小程序 职场和发展