当前位置: 首页 > news >正文

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

一、序言

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

二、依赖配置

2.1 引入依赖

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

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

2.2 配置文件

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

# SpringBoot3引入Redis
spring:data:redis:host: 127.0.0.1database: 3timeout: 10000# SpringBoot2引入Redis
spring:redis:host: 127.0.0.1database: 3timeout: 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);}@Autowiredpublic 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的使用绝不止简单的字符串存储,后面我们结合业务来增加使用场景,不然讲起来太空洞了,那也不是我们想要的。

专栏链接:其他文章

http://www.dtcms.com/a/528354.html

相关文章:

  • SSM框架-MyBatis2
  • 深入理解JVM垃圾回收机制:从原理到实践
  • Spring的后处理器
  • 本地佛山顺德网站设计深圳市宝安区西乡街道
  • 监控 Linux 系统上的内存使用情况
  • 湖北省住房与建设厅网站高品质的网站开发
  • 智慧校园建设方案-6PPT(32页)
  • Spring的@Cacheable取缓存默认实现
  • MySQL-TrinityCore异步连接池的学习(七)
  • 2020应该建设什么网站建网站的论坛
  • 华为OD机考双机位A卷 - Excel单元格数值统计 (C++ Python JAVA JS GO)
  • SpringBoot集成Elasticsearch | Elasticsearch 7.x专属HLRC(High Level Rest Client)
  • 广东省住房城乡建设厅门户网站免费下载手机app
  • 信创入门指南:一文掌握信息技术应用创新的核心要点
  • 基于鸿蒙UniProton的物联网边缘计算:架构设计与实现方案
  • 基于Swin Transformer的脑血管疾病中风影像诊断系统研究
  • 宝安第一网站东莞关键词优化软件
  • 篮球论坛|基于SprinBoot+vue的篮球论坛系统(源码+数据库+文档)
  • SQL 进阶:触发器、存储过程
  • ansible快速准备redis集群环境
  • 公司网站制作效果长沙网站制造
  • 数据结构之堆
  • 【Linux学习笔记】日志器与线程池设计
  • 【Linux系统编程】编辑器vim
  • 鸿蒙ArkTS入门教程:小白实战“易经”Demo,详解@State、@Prop与List组件
  • 扩散模型与UNet融合的创新路径
  • 从入门到精通的鸿蒙学习之路——基于鸿蒙6.0时代的生态趋势与实战路径
  • 704.力扣LeetCode_二分查找
  • 如何做企业网站宣传wordpress 显示空白
  • 机器学习库的线性回归预测