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

【中间件】redis使用

一、redis介绍
redis是一种NoSQL类型的数据库,其数据存储在内存中,因此其数据查询效率很高,很快。常被用作数据缓存分布式锁 等。SpringBoot集成了Redis,可查看开发文档Redis开发文档。Redis有自己的可视化工具Redis Desktop Manager
Redis使用RedisTemplateStringRedisTemplate类提供的方法操作redis数据。

redis使用场景:
1、即时性、数据一致性要求不高的
2、访问量大且更新频率不高的数据(读多,写少)

二、redis使用方法

  1. 导包
<!--        redis依赖包--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency></dependencies>

说明:具体依赖包名可在Maven仓库搜索redis即可查询到

  1. 写配置
spring:redis:host: 192.168.195.131(redis地址)

说明:redis可配置项可以ctrl+点击redis查看所有RedisProperties

  1. 使用RedisTemplateStringRedisTemplate类提供的方法操作redis数据。
@Overridepublic Map<String, List<Level2CategoryVO>> getCatalogJson() {// 先从缓存中查,如果有则直接返回,如果没有则查数据库,再返回String catalogJson = redisTemplate.opsForValue().get("catalogJson");// 如果缓存中没有,则查数据库,将结果存到redis,再返回if (StringUtil.isNullOrEmpty(catalogJson)) {Map<String, List<Level2CategoryVO>> catalogJsonDB = this.getCatalogJsonDB();redisTemplate.opsForValue().set("catalogJson", JSON.toJSONString(catalogJsonDB));return catalogJsonDB;}return JSON.parseObject(catalogJson, new HashMap<String, List<Level2CategoryVO>>().getClass());}

redis可视化结果:
在这里插入图片描述

说明:StringRedisTemplate类是专门在redis中操作key和value均为String类型的数据。RedisTemplate则value可为对象类型。

http://www.xdnf.cn/news/605.html

相关文章:

  • Gen - CDPT举例说明:动态上下文前缀(输入先和标签结合,输出结果会更贴近标签内容)
  • 大数据可能出现的bug之flume
  • Matlab 汽车行驶速度PID控制系统仿真
  • GIS开发笔记(9)结合osg及osgEarth实现三维球经纬网格绘制及显隐
  • 利用 HEMT 和 PHEMT 改善无线通信电路中的增益、速度和噪声
  • 常见的页面报错
  • 热门算法面试题第19天|Leetcode39. 组合总和40.组合总和II131.分割回文串
  • windows docker desktop 无法访问容器端口映射
  • 大模型面经 | 介绍一下CLIP和BLIP
  • mac监控linux上mysql性能(Grafana+Prometheus+mysqld_exporter)
  • 每日一题——最小测试用例集覆盖问题
  • 通过爬虫方式实现头条号发布视频(2025年4月)
  • 2025 UCSCCTF Pwn-wp(含附件)
  • Java链表反转方法详解
  • 2. 什么是最普通的自动化“裸奔状态”?
  • 扣子智能体1:创建Agent与写好提示词
  • 深入理解Linux中的线程控制:多线程编程的实战技巧
  • 【失败总结】Win10系统安装docker
  • C++ MySQL数据库访问工具类设计与操作流程详解
  • 实现AWS Data Pipeline安全地请求企业内部API返回数据
  • 学习笔记二十——Rust trait
  • 网络基础(协议,地址,OSI模型、Socket编程......)
  • C++ 多态
  • 支持向量机(SVM):原理、应用与深入解析
  • 【今日三题】判断是不是平衡二叉树(递归) / 最大子矩阵(二维前缀和) / 小葱的01串(滑动窗口)
  • Linux进程地址空间、写时拷贝
  • Java—— 常见API介绍 第一期
  • 探秘Python 工匠:案例、技巧与工程实践:解锁Python进阶的通关秘籍
  • 【Linux】43.网络基础(2.5)
  • accelerate并行计算:训练环境和训练参数的配置字典