SpringBoot集成Redis

唠嗑:大家好,我又来了,今天给自己练手的项目集成我们常用的非关系性数据库Redis。一边学习,一边记录。

话不多说直接上流程

下载网址:http://redis.io/download ; http://redis.cn/
或者我这边共享的压缩包: https://pan.baidu.com/s/1UDMDZWnirENfUAK3Mjk3uA 提取码: xu4c

先去下载一个Redis压缩包,直接解压即可。
解压后是没有设置密码的,如果需要设置密码找到->redis.windows.conf文件
打开后找到# requirepass foobared 修改成 requirepass 123456(密码)


解压后截图.png
配置文件截图.png

启动和测试
先启动服务端,可以选择双击redis-server.exe,但是最好通过命令加载配置启动redis-server redis.windows.conf


redis启动成功.png

双击redis-cli.exe启动客户端连接redis-server.exe。


客户端操作.png

测试完毕正常连接成功,set key value,get key 获取value

下面是SpringBoot集成Redis
1.导包

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>

2.yml配置

spring:
  redis:
      database: 0  
      host: 127.0.0.1
      port: 6379
      password: 123456
      jedis:
        pool:
          max-wait: 2000ms
          min-idle: 2
          max-idle: 8

3.配置类

@Configuration
public class RedisConfig {
    /**
     * 重写Redis序列化方式,使用Json方式:
     * 当我们的数据存储到Redis的时候,我们的键(key)和值(value)都是通过Spring提供的Serializer序列化到数据库的。RedisTemplate默认使用的是JdkSerializationRedisSerializer,StringRedisTemplate默认使用的是StringRedisSerializer。
     * Spring Data JPA为我们提供了下面的Serializer:
     * GenericToStringSerializer、Jackson2JsonRedisSerializer、JacksonJsonRedisSerializer、JdkSerializationRedisSerializer、OxmSerializer、StringRedisSerializer。
     * 在此我们将自己配置RedisTemplate并定义Serializer。
     *
     * @param redisConnectionFactory
     * @return
     */
    @Bean
    public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) {
        RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
        redisTemplate.setConnectionFactory(redisConnectionFactory);

        FastJsonRedisSerializer<Object> fastJsonRedisSerializer = new FastJsonRedisSerializer<>(Object.class);
        // 全局开启AutoType,不建议使用
        // ParserConfig.getGlobalInstance().setAutoTypeSupport(true);
        // 建议使用这种方式,小范围指定白名单(类路径)
        ParserConfig.getGlobalInstance().addAccept("cn.huangsong.entity");
        // 设置值(value)的序列化采用FastJsonRedisSerializer。
        redisTemplate.setValueSerializer(fastJsonRedisSerializer);
        redisTemplate.setHashValueSerializer(fastJsonRedisSerializer);
        // 设置键(key)的序列化采用StringRedisSerializer。
        redisTemplate.setKeySerializer(new StringRedisSerializer());
        redisTemplate.setHashKeySerializer(new StringRedisSerializer());
        redisTemplate.afterPropertiesSet();
        return redisTemplate;
    }

        //这里需要一个导入一个依赖
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.59</version>
            <scope>compile</scope>
        </dependency>

4.测试一下

@org.springframework.boot.test.context.SpringBootTest(classes = TestApplication.class)
@RunWith(SpringRunner.class)
public class SpringBootTest {

    @Autowired
    private RedisTemplate redisTemplate;
    /**
     * 测试redis监控key,实现超时任务处理
     */
    @Test
    public void test4(){
        TUser tUser = new TUser();
        tUser.setAge(20);
        tUser.setName("张三");
        tUser.setPassword("123");
        //设置过期时间
        redisTemplate.opsForValue().set("name",tUser,10, TimeUnit.SECONDS);
        String jsonStr = redisTemplate.opsForValue().get("name").toString();
        //json字符串转java对象
        Map map = JSON.parseObject(jsonStr, Map.class);
        TUser tUser1 = JSON.parseObject(jsonStr, tUser.getClass());
        System.out.println(map);
        System.out.println(tUser1);
    }

5.输出结果


输出结果.png

结束语:睡不着觉,学习+复习的记录过程。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • redis基础入门 简介 在学习一门新的技术时,首先要先了解这门技术是做些什么的,以下是百度百科对redis的解释...
    bug工厂阅读 2,425评论 0 0
  • Ubuntu下安装redis 安装redis 在 Ubuntu 系统安装 Redi 可以使用以下命令: 启动 Re...
    riverstation阅读 4,554评论 0 0
  • 来源:脚本之家 这篇文章主要介绍了超强、超详细Redis入门教程,本文详细介绍了Redis数据库各个方面的知识,需...
    shenyoujian阅读 4,326评论 1 10
  • Redis是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并...
    墨丘利lh阅读 3,233评论 0 1
  • 我是黑夜里大雨纷飞的人啊 1 “又到一年六月,有人笑有人哭,有人欢乐有人忧愁,有人惊喜有人失落,有的觉得收获满满有...
    陌忘宇阅读 12,758评论 28 53

友情链接更多精彩内容