博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring Cloud整合Redis
阅读量:6501 次
发布时间:2019-06-24

本文共 3327 字,大约阅读时间需要 11 分钟。

hot3.png

项目需要使用Redis来做缓存,研究了一下如何将其与Spring Boot整合。网上的demo要么就是太过于庞大,要么就是版本过于陈旧,配置时候会有各种坑。因此自己在踩过了各种坑之后,写一个小demo来记录下:

1.项目结构:

2.pom的依赖配置:

本人使用的Spring Boot是2.0.4.RELEASE版本的:

org.springframework.boot
spring-boot-starter-parent
2.0.4.RELEASE

添加redis的依赖:

 

org.springframework.boot
spring-boot-starter-data-redis

 

添加common-pool2的依赖:

org.apache.commons
commons-pool2
2.0

 

我在这里尝试过不加version,让springboot自己选择最合适的版本,结果会报错。参考别人的例子,选择2.0版本,没有问题。

3.修改application.yml:

这里的host填写自己redis的IP,timeout别设置为0,否则运行会报错

redis 单机配置

spring:  redis:    host:     port: 6379    lettuce:      pool:        max-wait: 100000        max-idle: 10        max-active: 100    timeout: 5000

 

redis 集群配置

redis:    database: 0    # 集群设置 begin    cluster:      nodes:        - 10.217.17.70:7000        - 10.217.17.74:7000        - 10.217.17.75:7000      max-redirects: 3 # 获取失败 最大重定向次数    #集群设置 end    #单节点 begin#    host: 10.217.17.74#    port: 7000    #单节点 end    lettuce:      pool:        max-wait: 100000        max-idle: 10        max-active: 100    timeout: 5000

 

 

3.编写dao层 :

package com.hg.redis; import org.springframework.beans.factory.annotation.Autowired;import org.springframework.data.redis.core.StringRedisTemplate;import org.springframework.data.redis.core.ValueOperations;import org.springframework.stereotype.Repository; import java.util.concurrent.TimeUnit; /** * @Description: * @Author: jiangfan * @CreateTime 2018/9/27 上午10:14 */@Repositorypublic class RedisDao {    @Autowired    private StringRedisTemplate template;     public void setKey(String key, String value) {        ValueOperations
ops = template.opsForValue(); ops.set(key, value); } public String getValue(String key) { ValueOperations
ops = this.template.opsForValue(); return ops.get(key); }}

 

 

4.修改测试启动类:

package com.hg.redis; import org.junit.Test;import org.junit.runner.RunWith;import org.springframework.boot.test.context.SpringBootTest;import org.springframework.test.context.junit4.SpringRunner; @RunWith(SpringRunner.class)@SpringBootTestpublic class RedisApplicationTests { 	@Test	public void contextLoads() {	} }

 

5.编写一个测试类:

package com.hg.redis; import org.junit.Test;import org.junit.runner.RunWith;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.boot.test.context.SpringBootTest;import org.springframework.test.context.junit4.SpringRunner;  /** * @Description: * @Author: jiangfan * @CreateTime 2018/9/27 上午10:26 */@RunWith(SpringRunner.class)@SpringBootTestpublic class SpringbootRedisApplicationTests {    public static Logger logger = LoggerFactory.getLogger(SpringbootRedisApplicationTests.class);     @Test    public void contextLoads(){}     @Autowired    RedisDao redisDao;     @Test    public void testRedis() {        redisDao.setKey("name","jerry");        redisDao.setKey("age","11");        logger.info(redisDao.getValue("name"));        logger.info(redisDao.getValue("age"));    }}

 

6.运行测试类:

 

转载于:https://my.oschina.net/zhongwenhao/blog/3060415

你可能感兴趣的文章
swapper进程【转】
查看>>
跨链技术与通证经济
查看>>
爬虫学习之-xpath
查看>>
js jQuery 右键菜单 清屏
查看>>
dotConnect for Oracle
查看>>
Eclipse下C/C++开发环境搭建
查看>>
Eclipse中设置在创建新类时自动生成注释
查看>>
我的友情链接
查看>>
CoreOS 手动更新
查看>>
golang 分页
查看>>
再论机械式针对接口编程
查看>>
25 个 Linux 性能监控工具
查看>>
C#程序员整理的Unity 3D笔记(十三):Unity 3D基于组件的思想
查看>>
Tengine-2.1.1 ngx_http_concat_module 400问题
查看>>
Windows中挂载安装ISO文件
查看>>
Wayland 1.0发布
查看>>
golang的goroutine是如何实现的?
查看>>
乐视云基于Kubernetes的PaaS平台建设
查看>>
R 学习笔记《十》 R语言初学者指南--图形工具
查看>>
PHP通过读取DOM抓取信息
查看>>