0
点赞
收藏
分享

微信扫一扫

Redis学习笔记(四)

十里一走马 2022-04-14 阅读 86
redis

一、通过Redis实现事务

public static void main(String[] args) {
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("hello","world");
        jsonObject.put("name","anguanng");

        Jedis jedis = new Jedis("127.0.0.1",6379);
        Transaction multi = jedis.multi();
        String result = jsonObject.toJSONString();
        try {
            multi.set("user1",result);
            multi.set("user2",result);
            multi.exec();
        } catch (Exception e) {
            multi.discard();
            e.printStackTrace();
        } finally {
            System.out.println(jedis.get("user1"));
            System.out.println(jedis.get("user2"));
            multi.close();
        }
    } 

运行成功截图:
在这里插入图片描述

二、Springboot整合

Springboot所有的配置类都有一个自动配置类,redis的是RedisAutoConfiguration,自动配置类都会绑定一个properties配置文件,redis的是RedisProperties
在这里插入图片描述
在这里插入图片描述
源码分析:

@EnableConfigurationProperties({RedisProperties.class})
@Import({LettuceConnectionConfiguration.class, JedisConnectionConfiguration.class})
public class RedisAutoConfiguration {
    public RedisAutoConfiguration() {
    }

    @Bean
    @ConditionalOnMissingBean( //说明可以自定义一个redisTemplate来替换默认的
        name = {"redisTemplate"}
    )
    @ConditionalOnSingleCandidate(RedisConnectionFactory.class)
    //两个泛型都是object,我们后使用需要强制转换<String,Object>
    public RedisTemplate<Object, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) { 
        RedisTemplate<Object, Object> template = new RedisTemplate();
        template.setConnectionFactory(redisConnectionFactory);
        return template;
    }

    @Bean
    @ConditionalOnMissingBean 
    @ConditionalOnSingleCandidate(RedisConnectionFactory.class)
    //由于String是redis中最常使用的类型,所以单独提出来一个方法。
    public StringRedisTemplate stringRedisTemplate(RedisConnectionFactory redisConnectionFactory) {
        return new StringRedisTemplate(redisConnectionFactory);
    }
}

整合测试:
1、导入依赖
在这里插入图片描述
2、配置连接
在这里插入图片描述
3、测试
在这里插入图片描述
解决测试出现的一个bug方法:
在这里插入图片描述
在这里插入图片描述

举报

相关推荐

0 条评论