首页
学习
活动
专区
圈层
工具
发布

【十年后台管理系统】Redis的使用

一、序言

  因为后续的验证码、权限等都会用到缓存,所以我们在创建项目后,先集成Redis为后续工作做铺垫。相信大家对Redis肯定是不陌生的,所以我们只做简单的介绍,就不多赘述。

二、依赖配置

2.1 引入依赖

引入依赖的方法跟SpringBoot2一样。

  <groupId>org.springframework.boot</groupId>

  <artifactId>spring-boot-starter-data-redis</artifactId>

2.2 配置文件

配置文件一定要注意,SpringBoot3的配置文件跟SpringBoot2是不一样的,在spring后面还有一级data,配置时要注意

# SpringBoot3引入Redis

spring:

data:

  redis:

    host: 127.0.0.1

    database: 3

    timeout: 10000

# SpringBoot2引入Redis

spring:

redis:

  host: 127.0.0.1

  database: 3

  timeout: 10000三、Redis工具类

  这块我跟大部分人可能不太一样,大部分开发者喜欢使用RedisTemplate类,然后去做很多配置。但是我比较喜欢使用StringRedisTemplate,这个大家看个人喜好,我就是觉得RedisTemplate经常有人喜欢做类型转换,这种我个人不是很习惯。

  另外,我比较懒,喜欢用静态工具类,所以我在写了一个静态的工具类,大家喜欢的可以直接使用。为了篇幅这里暂时就不全部写,大家可以参考源码:

这里工具类使用构造注入的方式引入StringRedisTemplate,才能在静态方法里使用。类上面的@Component注解也不能少,但是使用过程中,不要用bean注入的方式使用,直接使用静态方法即可。

@Component

public class RedisUtil {

  private static StringRedisTemplate redisTemplate;

  /**

   * 缓存String

   *

   * @param key   key

   * @param value value

   */

  public static void set(String key, String value) {

      redisTemplate.opsForValue().set(key, value);

  }

  /**

   * 缓存String(带有效期)

   *

   * @param key     key

   * @param value   value

   * @param timeout 有效期秒

   */

  public static void set(String key, String value, long timeout) {

      redisTemplate.opsForValue().set(key, value, timeout, TimeUnit.SECONDS);

  }

  /**

   * 获取String缓存

   *

   * @param key     key

   */

  public static String get(String key) {

      return redisTemplate.opsForValue().get(key);

  }

  @Autowired

  public RedisUtil(StringRedisTemplate redisTemplate) {

      RedisUtil.redisTemplate = redisTemplate;

  }

}四、测试工具类

  没经过使用的工具类是没有意义的,下面我们就来对工具类进行测试,看看是否真的有效。

@RequestMapping("/test")

@RestController

public class TestController {

  @GetMapping("/redis")

  public void testRedis() {

      RedisUtil.set("123:456:789", "正在进行Redis测试", 1800);

      System.err.println("获取缓存数据:" + RedisUtil.get("123:456:789"));

  }

}

然后我们通过浏览器调用:http://localhost:8080/test/redis

请添加图片描述

请添加图片描述

  我们通过可视化工具可以看到,数据已经缓存到Redis中,控制台也能正常打印已缓存的数据。这里注意,我专门用中文进行测试的,取出的中文并没有乱码。

  这里顺便推荐下我使用的Redis可视化工具RedisFront,我个人还是觉得不错的。

传送门:RedisFront

五、写在最后

  Redis的使用绝不止简单的字符串存储,后面我们结合业务来增加使用场景,不然讲起来太空洞了,那也不是我们想要的。

管理系统文章合集

  • 发表于:
  • 原文链接https://page.om.qq.com/page/ONItNG6WkwiTdSsVDetNukqA0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。
领券