2021-5-17:Spring Boot整合Redis
Spring Boot整合Redis
在老师博客中下载压缩包
下载后,解压到D盘,在D:\Program Files目录下新建一个文件夹redis,解压到目录中。
配置环境变量
启动Redis服务器,启动命令行窗口,键入redis-server命令
启动Redis客户端
启动命令行窗口,键入redis-cli命令
键入exit命令,退出客户端
(二)安装Redis可视化管理工具
1、下载Redis可视化管理工具
下载链接:https://pan.baidu.com/s/1EaCKpkGr04QM8QHu3H-G_g
提取码:oonx
下载好后,双击它
创建Spring Boot项目RedisDemo
设置项目元数据
创建实体类
在net.lhf.lesson08包里创建bean子包
1、创建地址实体类Address
在net.lhf.lesson08.bean包里创建地址实体类Address
package net.lhf.lesson08.bean;import org.springframework.data.redis.core.index.Indexed;/*** 功能:地址实体类* 作者:李红芙* 日期:2021年07月17日*/
public class Address {@Indexedprivate String country; //国家@Indexedprivate String city; //城市public Address(String country, String city) {this.country = country;this.city = city;}public String getCountry() {return country;}public void setCountry(String country) {this.country = country;}public String getCity() {return city;}public void setCity(String city) {this.city = city;}@Overridepublic String toString() {return "Address{" +"country='" + country + '\'' +", city='" + city + '\'' +'}';}
}
创建人实体类Person
在net.lhf.lesson08.bean包里创建人实体类Family
package net.lhf.lesson08.bean;
import org.springframework.data.redis.core.index.Indexed;/*** 功能:家庭实体类* 作者:李红芙* 日期:2021年05月17日*/
public class Family {@Indexedprivate String type; //成员类型@Indexedprivate String name; //成员名public Family(String type, String name) {this.type = type;this.name = name;}public String getType() {return type;}public void setType(String type) {this.type = type;}public String getName() {return name;}public void setName(String name) {this.name = name;}@Overridepublic String toString() {return "Family{" +"type='" + type + '\'' +", name='" + name + '\'' +'}';}
}
创建人实体类Person
在net.lhf.lesson08.bean包里创建人实体类Person
package net.lhf.lesson08.bean;import org.springframework.data.annotation.Id;
import org.springframework.data.redis.core.RedisHash;
import org.springframework.data.redis.core.index.Indexed;import java.util.List;/*** 功能:人实体类* 作者:李红芙* 日期:2021年05月17日*/
@RedisHash("persons")
public class Person {@Id //主键private String id;//生成二级索引,方便查询@Indexedprivate String firstName; //名@Indexedprivate String lastName; //姓private Address address; //家庭地址private List<Family> familyList; //家庭成员public Person(String id, String firstName, String lastName, Address address, List<Family> familyList) {this.id = id;this.firstName = firstName;this.lastName = lastName;this.address = address;this.familyList = familyList;}public String getId() {return id;}public void setId(String id) {this.id = id;}public String getFirstName() {return firstName;}public void setFirstName(String firstName) {this.firstName = firstName;}public String getLastName() {return lastName;}public void setLastName(String lastName) {this.lastName = lastName;}public Address getAddress() {return address;}public void setAddress(Address address) {this.address = address;}public List<Family> getFamilyList() {return familyList;}public void setFamilyList(List<Family> familyList) {this.familyList = familyList;}@Overridepublic String toString() {return "Person{" +"id='" + id + '\'' +", firstName='" + firstName + '\'' +", lastName='" + lastName + '\'' +", address=" + address +", familyList=" + familyList +'}';}
}
(五)创建自定义Repository接口
在net.lhf.lesson08包里创建repository子包
在net.lhf.lesson08.repository包里创建PersonRepository接口
在全局配置文件配置Redis属性
spring.redis.port=6379
spring.redis.host=127.0.0.1
spring.redis.password=
在测试类里编写测试方法
点开测试类RedisDemoApplicationTests
package net.lhf.lesson08;import net.lhf.lesson08.bean.Address;
import net.lhf.lesson08.bean.Family;
import net.lhf.lesson08.bean.Person;
import net.lhf.lesson08.repository.PersonRepository;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;import java.util.ArrayList;
import java.util.List;@SpringBootTest
class RedisDemoApplicationTests {//注入仓库@Autowiredprivate PersonRepository personRepository;@Testvoid contextLoads() {}@Testpublic void testAddPerson() {// 添加第一个人Address address = new Address("中国", "泸州");Family family1 = new Family("儿子", "张晓刚");Family family2 = new Family("女儿", "张晓霞");List<Family> familyList = new ArrayList<Family>();familyList.add(family1);familyList.add(family2);Person person = new Person("1", "无忌", "张", address, familyList);personRepository.save(person);// 添加第二个人address = new Address("中国", "上海");family1 = new Family("儿子", "李功晨");family2 = new Family("女儿", "李晓丽");familyList = new ArrayList<Family>();familyList.add(family1);familyList.add(family2);person = new Person("2", "承鹏", "李", address, familyList);personRepository.save(person);// 添加第三个人address = new Address("中国", "北京");family1 = new Family("儿子", "唐玉海");family2 = new Family("女儿", "唐雨涵");familyList = new ArrayList<Family>();familyList.add(family1);familyList.add(family2);person = new Person("3", "大明", "唐", address, familyList);personRepository.save(person);// 添加第四个人address = new Address("中国", "北京");family1 = new Family("儿子", "张大明");family2 = new Family("女儿", "张丽丽");familyList = new ArrayList<Family>();familyList.add(family1);familyList.add(family2);person = new Person("4", "文勇", "张", address, familyList);personRepository.save(person);System.out.println("成功地添加了4条记录~");}}
说明:在这个测试方法里,测试了personRepository的save()方法
运行测试方法,查看结果
在命令行窗口启动redis服务
打开Redis可视化工具查看
创建测试方法testFindAll()
运行测试方法,查看结果
测试personRespository的其它方法
创建测试方法testFindById()
运行测试方法,查看结果
创建测试方法testDeleteAll()
package net.lhf.lesson08;import net.lhf.lesson08.bean.Address;
import net.lhf.lesson08.bean.Family;
import net.lhf.lesson08.bean.Person;
import net.lhf.lesson08.repository.PersonRepository;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;import java.util.ArrayList;
import java.util.List;
import java.util.Optional;@SpringBootTest
class RedisDemoApplicationTests {//注入仓库@Autowiredprivate PersonRepository personRepository;@Testvoid contextLoads() {}@Testpublic void testAddPerson() {// 添加第一个人Address address = new Address("中国", "泸州");Family family1 = new Family("儿子", "张晓刚");Family family2 = new Family("女儿", "张晓霞");List<Family> familyList = new ArrayList<Family>();familyList.add(family1);familyList.add(family2);Person person = new Person("1", "无忌", "张", address, familyList);personRepository.save(person);// 添加第二个人address = new Address("中国", "上海");family1 = new Family("儿子", "李功晨");family2 = new Family("女儿", "李晓丽");familyList = new ArrayList<Family>();familyList.add(family1);familyList.add(family2);person = new Person("2", "承鹏", "李", address, familyList);personRepository.save(person);// 添加第三个人address = new Address("中国", "北京");family1 = new Family("儿子", "唐玉海");family2 = new Family("女儿", "唐雨涵");familyList = new ArrayList<Family>();familyList.add(family1);familyList.add(family2);person = new Person("3", "大明", "唐", address, familyList);personRepository.save(person);// 添加第四个人address = new Address("中国", "北京");family1 = new Family("儿子", "张大明");family2 = new Family("女儿", "张丽丽");familyList = new ArrayList<Family>();familyList.add(family1);familyList.add(family2);person = new Person("4", "文勇", "张", address, familyList);personRepository.save(person);System.out.println("成功地添加了4条记录~");}@Testpublic void testFindAll(){Iterable<Person> persons = personRepository.findAll();persons.forEach(person -> System.out.println(person));}@Testpublic void testFindById() {Optional<Person> person = personRepository.findById("2");System.out.println(person.get());}@Testpublic void testDeleteAll(){personRepository.deleteAll();System.out.println();}
}
2021-5-17:Spring Boot整合Redis相关推荐
- Spring Boot 整合Redis 包含Java操作Redis哨兵 作者:哇塞大嘴好帥(哇塞大嘴好帅)
Spring Boot 整合Redis 包含Java操作Redis哨兵 作者:哇塞大嘴好帥(哇塞大嘴好帅) 1. 配置环境 在SpringBoot2.0版本以后,原来使用的jedis被替换成为了let ...
- Spring boot - 整合 Redis缓存(上)
一.配置Pom文件 在使用spring boot 2.0整合redis时遇到了好多问题,网上很多例子都是1.x版本的.故2.0没有折腾好所以将2.0降到了1.5.降级后由于thymeleaf版本也会从 ...
- Spring Boot基础学习笔记08:Spring Boot整合Redis
文章目录 零.学习目标 1.熟悉Redis相关概念 2.掌握使用Spring Boot整合Redis 一.Redis概述 1.Redis简介 2.Redis优点 (1)存取速度快 (2)数据类型丰富 ...
- 十一、Spring Boot整合Redis(一)
Spring Boot整合Redis 1. SpringBoot+单例Redis 1)引入依赖 <dependency> <groupId>org.springf ...
- Spring boot整合Redis(入门教程)
目录 源码分析 jedis VS lettuce 整合测试 导入依赖 配置连接 测试 存入字符串 存入对象 五大数据类型操作 自定义RedisConfig 存入对象 Redis工具类(常用API) 以 ...
- 大聪明教你学Java | Spring Boot 整合 Redis 实现访问量统计
前言 之前开发系统的时候客户提到了一个需求:需要统计某些页面的访问量,记得当时还纠结了一阵子,不知道怎么去实现这个功能,后来还是在大佬的带领下借助 Redis 实现了这个功能.今天又回想起了这件事,正 ...
- Spring boot整合Redis实现发布订阅(超详细)
Redis发布订阅 基础知识 相关命令 订阅者/等待接收消息 发布者/发送消息 订阅者/成功接收消息 常用命令汇总 原理 Spring boot整合redis 导入依赖 Redis配置 消息封装类(M ...
- 微服务Spring Boot 整合 Redis 实现 好友关注
文章目录 ⛅引言 一.Redis 实现好友关注 -- 关注与取消关注 二.Redis 实现好友关注 -- 共同关注功能 ⛵小结 ⛅引言 本博文参考 黑马 程序员B站 Redis课程系列 在点评项目中, ...
- 猿创征文 | 微服务 Spring Boot 整合Redis 实战开发解决高并发数据缓存
文章目录 一.什么是 缓存? ⛅为什么用缓存? ⚡如何使用缓存 二.实现一个商家缓存 ⌛环境搭建 ♨️核心源码 ✅测试接口 三.采用 微服务 Spring Boot 注解开启缓存 ✂️@CacheEn ...
- [由零开始]Spring boot 整合redis集群
Spring boot 整合redis集群 一.环境搭建 Redis集群环境搭建:https://blog.csdn.net/qq497811258/article/details/108124697 ...
最新文章
- 电脑硬件知识学习_学习计算机基础必读的4本经典入门书籍,自学编程必备书单!...
- java爬取网页内容 简单例子(2)——附jsoup的select用法详解
- Android Framework增加API 报错 Missing nullability on parameter
- 青蛙换位java_青蛙换位
- TensorFlow笔记(9) ResNet
- 《面向对象分析与设计》一1.4面向对象方法的主要优点
- 对Table_locks_immediate值的理解
- 动态主机配置协议DHCP
- 图神经网络GNN论文2019-2020顶会列表
- 基于XML的ASP留言板
- 计算机科学导论第12版答案,计算机科学导论第12章参考答案.pdf
- t470换屏线_thinkpad t470怎么样?thinkpad t470拆机图解全面评测
- 电脑重启桌面 计算机图标消失,电脑重启桌面图标不见了怎么办
- .NET Framework 3.5 安装错误:0x800F0906、0x800F081F、0x800F0907
- 考Java二级要不要背方法英文_考英语二级有什么技巧吗?
- 2022-2023年华南师范大学工商管理硕士(MBA)招生简章
- 程序员如何避免面向监狱编程?避免踩雷!
- BZOJ3837: [Pa2013]Filary
- 查看nvidia显卡GPU信息
- NV终于出必杀!怪兽显卡GTX TITAN首测