在已经整合了SpringDataJPA和Junit的基础上,整合Redis,只需要一下几步即可:

1、下载64windows版的Redis安装包、解压并启动服务端

2、配置Redis的起步依赖(pom.xml)

3、配置连接Redis服务器的信息(application.propertis)

4、写测试类

5、启动测试

具体内容如下:

下载64windows版的Redis安装包、解压并启动服务端

下载地址为:

https://github.com/MicrosoftArchive/redis/releases

下载64位的版本,如下图:

解压后:

双击redis-server.exe即可启动redis服务端

双击redis-cli.exe即可启动redis客户端

pom.xml中配置Redis的起步依赖:

<!--redis的起步依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>

application.properties中配置连接redis服务器的信息:

# Redis服务器地址
spring.redis.host=localhost
# Redis服务器连接端口
spring.redis.port=6379

编写测试类:

package com.myself;

import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.myself.domain.User;
import com.myself.repository.UserRepository;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.test.context.junit4.SpringRunner; import java.util.List; @RunWith(SpringRunner.class)
@SpringBootTest(classes = SpringbootJpaApplication.class)
public class RedisTest {
@Autowired
private RedisTemplate<String,String> redisTemplate; @Autowired
private UserRepository userRepository; @Test
public void queryUsers() throws JsonProcessingException {
//从redis缓存中查询数据,redis是nosql的K-V键值对,所以设置键为user.findAll
String listUserJson = redisTemplate.boundValueOps("user.findAll").get();
//如果数据为空,则为首次访问,需要从数据库中查询数据
if(listUserJson == null){
       //从数据库中查询数据
List<User> users = userRepository.findAll();
//将数据转换为json字符串,由于我们配置了web的起步依赖,所以我们可以使用Jackson进行数据转换
       //jackson中的对象
ObjectMapper objectMapper = new ObjectMapper();
listUserJson = objectMapper.writeValueAsString(users);
redisTemplate.boundValueOps("user.findAll").set(listUserJson);
System.out.println("=================从数据库中查询数据=============================================");
}else{
System.out.println("=================从redis缓存中查询数据=============================================");
}
System.out.println("user数据为:" + listUserJson); } } 如有理解不到位之处,望指正。 除了以上方式指定将数据存入Redis,还可以指定开启Redis缓存
1、引导类上添加@EnableCaching
package com.myself;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cache.annotation.EnableCaching; @SpringBootApplication
//开启Redis缓存
@EnableCaching
public class SpringbootJpaApplication { public static void main(String[] args) {
SpringApplication.run(SpringbootJpaApplication.class, args);
}
}
2、在UserController.java的查询方法上加上@Cacheable(value = "queryUserList")
package com.myself.controller;

import com.myself.domain.User;
import com.myself.repository.UserRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody; import java.util.List; @Controller
public class UserController {
@Autowired
private UserRepository userRepository; @RequestMapping("/queryUserList")
@ResponseBody
@Cacheable(value = "queryUserList")
public String queryUserList(){
System.out.println("===========打印此信息,说明没有走Redis缓存==========");
// List<User> users = userRepository.findAll();
return "abc";
} } 通过以上2步,就可以开启Redis缓存,并指定在缓存中对应的key,通过页面首次访问时不走缓存,控制台打印信息,
再次访问时走Redis缓存,控制台不会再打印信息,也可通过Redis查看是否生成对应的key
												

0004SpringBoot整合Redis的更多相关文章

  1. Spring+Mybatis基于注解整合Redis

    基于这段时间折腾redis遇到了各种问题,想着整理一下.本文主要介绍基于Spring+Mybatis以注解的形式整合Redis.废话少说,进入正题. 首先准备Redis,我下的是Windows版,下载 ...

  2. springmvc整合redis架构搭建实例

    新换环境,又有新东西可以学习了,哈皮! 抽空学习之余看了一下redis,个人对Springmvc的爱是忠贞不渝,所以整理了一下Springmvc整合redis的环境搭建.分享学习. 第一步: 创建ma ...

  3. (转)Spring整合Redis作为缓存

           采用Redis作为Web系统的缓存.用Spring的Cache整合Redis. 一.关于redis的相关xml文件的写法 <?xml version="1.0" ...

  4. 深入浅出Redis-Spring整合Redis

    概述: 在之前的博客中,有提到过Redis 在服务端的一些相关知识,今天主要讲一下Java 整合Redis的相关内容. 下面是Jedis 的相关依赖: <dependency> <g ...

  5. SSM之整合Redis

    Redis安装与使用 第一步当然是安装Redis,这里以Windows上的安装为例. 首先下载Redis,可以选择msi或zip包安装方式 zip方式需打开cmd窗口,在解压后的目录下运行redis- ...

  6. SpringBoot整合Redis、ApachSolr和SpringSession

    SpringBoot整合Redis.ApachSolr和SpringSession 一.简介 SpringBoot自从问世以来,以其方便的配置受到了广大开发者的青睐.它提供了各种starter简化很多 ...

  7. SpringBoot进阶教程(二十九)整合Redis 发布订阅

    SUBSCRIBE, UNSUBSCRIBE 和 PUBLISH 实现了 发布/订阅消息范例,发送者 (publishers) 不用编程就可以向特定的接受者发送消息 (subscribers). Ra ...

  8. SpringBoot进阶教程(二十八)整合Redis事物

    Redis默认情况下,事务支持被禁用,必须通过设置setEnableTransactionSupport(true)为使用中的每个redistplate显式启用.这样做会强制将当前重新连接绑定到触发m ...

  9. SpringBoot进阶教程(二十七)整合Redis之分布式锁

    在之前的一篇文章(<Java分布式锁,搞懂分布式锁实现看这篇文章就对了>),已经介绍过几种java分布式锁,今天来个Redis分布式锁的demo.redis 现在已经成为系统缓存的必备组件 ...

随机推荐

  1. 适合长期英语学习的电视、电台、podcast节目有哪些?

    1.Stuff You Should Know 非常有名的一个节目 直接在度娘搜索第一个就是官网,里面有videos和podcasts两种 Postcasts有特别多种类的主题, 每期介绍一个主题, ...

  2. 如何使用Curator监听zookeeper事件变化

    掌握zookeeper事件监听机制,非常重要,可以说是跨入了进阶的门槛,只有掌握了如何监听某个节点或路径,我们才能在节点变化后,做一些我们想做的事,包括: 1,配置文件同步 2,主从切换 3,分布式队 ...

  3. SpringBoot(三)手写starter pom自动配置

    思想:主要是EnableAutoConfiguration在启动的时候会扫描spring.factories并加载 1在resource下面新建META-INF/spring.factories 2在 ...

  4. NotePad++ 正则表达式 转

    https://gerardnico.com/ide/notepad/replace https://notepad-plus-plus.org/community/topic/16787/find- ...

  5. Word 删除脚注尾注前边的编号

    1. 前言 一般我们插入尾注都是有编号的,怎么插入无编号的尾注? 2. 步骤 进入引用选项卡,然后注意不要点插入脚注,而要点脚注最右下方的小方框,出现脚注和尾注的对话框,点符号(Y)...,选第一个格 ...

  6. Android 卸载应用程序

    最近工作中接触Android应用实现卸载自身的逻辑,踩了一些坑之后整理下来.使用的方法是Intent.ACTION_DELETE,这里没有什么好说的. MainActivity.java : pack ...

  7. 去除element-ui table表格右侧滚动条的高度

    /* //element-ui table的去除右侧滚动条的样式 */ ::-webkit-scrollbar { width: 1px; height: 1px; } /* // 滚动条的滑块 */ ...

  8. 学习嵌入式为什么要有uboot(深度解析)

    ref:http://www.elecfans.com/d/617674.html     为什么要有uboot 1.1.计算机系统的主要部件 (1)计算机系统就是以CPU为核心来运行的系统. 典型的 ...

  9. sqlserver使用EF模型经验

    sqlserver使用EF模型经验 EF模型使用本人在之前两三年中从没使用过,所以刚开始使用就会踩上许多的坑.今天我不单单说下自己所踩的一些坑与当前公司中使用EF模型设计的理念,即是为我自己做个笔记, ...

  10. VBA运算符(九)

    运算符可以用一个简单的表达式定义,例如:4 + 5等于9.这里,4和5称为操作数,+被称为运算符.VBA支持以下类型的运算符 - 算术运算符 比较运算符 逻辑(或关系)运算符 连接运算符 算术操作符 ...