【中间件】redis使用

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

Redis使用RedisTemplateStringRedisTemplate类提供的方法操作redis数据。

redis使用场景:

1、即时性、数据一致性要求不高的

2、访问量大且更新频率不高的数据(读多,写少)

二、redis使用方法

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

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

  1. 写配置
bash 复制代码
spring:
	redis:
    	host: 192.168.195.131(redis地址)

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

  1. 使用RedisTemplateStringRedisTemplate类提供的方法操作redis数据。
bash 复制代码
@Override
    public 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可为对象类型。

相关推荐
倔强的石头_5 小时前
kingbase备份与恢复实战(二)—— sys_dump库级逻辑备份与恢复(Windows详细步骤)
数据库
jiayou641 天前
KingbaseES 实战:深度解析数据库对象访问权限管理
数据库
李广坤2 天前
MySQL 大表字段变更实践(改名 + 改类型 + 改长度)
数据库
爱可生开源社区3 天前
2026 年,优秀的 DBA 需要具备哪些素质?
数据库·人工智能·dba
随逸1773 天前
《从零搭建NestJS项目》
数据库·typescript
加号34 天前
windows系统下mysql多源数据库同步部署
数据库·windows·mysql
シ風箏4 天前
MySQL【部署 04】Docker部署 MySQL8.0.32 版本(网盘镜像及启动命令分享)
数据库·mysql·docker
李慕婉学姐4 天前
Springboot智慧社区系统设计与开发6n99s526(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·spring boot·后端
百锦再4 天前
Django实现接口token检测的实现方案
数据库·python·django·sqlite·flask·fastapi·pip
tryCbest4 天前
数据库SQL学习
数据库·sql