一、SpringBoot整合单机版Redis

1、在pom.xml文件中加入redis的依赖

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-redis</artifactId>
<version>1.3.5.RELEASE</version>
</dependency>

2、在application.properties文件中增加redis配置

#redis
spring.redis.host=localhost
spring.redis.port=6379
spring.redis.password=111111

3、在入口类加入注解@EnableCaching注解,开始缓存

@SpringBootApplication
@EnableCaching
public class SpringbootmybatisApplication { public static void main(String[] args) {
SpringApplication.run(SpringbootmybatisApplication.class, args);
}
}

4、在service实现层的方法上加入@Cacheable注解,意思是加入缓存

@Override
@Cacheable(value = "user.list")-----加入缓存,并且key为user.list
public List<User> findAll() {
System.out.println("进来了");
return userAtomMapper.finaAll();
}
当第一次访问的时候,会进入这个方法,然后会将结果存入缓存,第二次访问的时候,就不会进入这个方法,会直接从缓存中获取,这个缓存就是redis

二、SpringBoot整合集群Redis

1、在application.properties文件中增加redis的集群配置

#redis集群模式
spring.redis.cluster.nodes=127.0.0.1:5001,127.0.0.1:5002,127.0.0.1:5003,127.0.0.1:5004,127.0.0.1:5005,127.0.0.1:5006

2、编写RedisConfig.java

@Configuration
public class RedisConfig {
@Value("${spring.redis.cluster.nodes}")
private String redisNodes;
@Bean
public JedisCluster jedisCluster(){
String[] clusterNodes = redisNodes.split(",");
Set<HostAndPort> nodes = new HashSet<>();
for(String node:clusterNodes){
String[] hp = node.split(":");
nodes.add(new HostAndPort(hp[0],Integer.valueOf(hp[1])));
}
JedisCluster jedisCluster = new JedisCluster(nodes);
return jedisCluster;
}
}
①@Configuration注解意味着这个类是一个配置类,相当于之前的xml文件
②@Bean注解相当于之前的<bean/>
③使用注解 @Value("${spring.redis.cluster.nodes}"),可以获取再application.properties文件里的spring.redis.cluster.nodes的值
④编写jedisCluster构造方法的目的是为了获取集群的所有节点的服务器ip和端口

3、开始使用RedisCluster

@Service
public class UserServiceImpl implements UserService { @Autowired
private JedisCluster jedisCluster; @Override
public String findRedis() {
return jedisCluster.get("name");
}
}

4、测试

/**
* 从集群redis获取
* @return
*/
@RequestMapping(value = "findRedis",method = RequestMethod.GET)
public String findRedis(){
return userService.findRedis();
}
在浏览器输入localhost:8080/findRedis,看到如下结果,说明整合成功。







												

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

  1. SpringBoot简单整合redis

    Jedis和Lettuce Lettuce 和 Jedis 的定位都是Redis的client,所以他们当然可以直接连接redis server. Jedis在实现上是直接连接的redis serve ...

  2. springBoot(8)---整合redis

    Springboot整合redis 步骤讲解 1.第一步jar导入: <dependency> <groupId>org.springframework.boot</gr ...

  3. SpringBoot之整合Redis分析和实现-基于Spring Boot2.0.2版本

    背景介绍 公司最近的新项目在进行技术框架升级,基于的Spring Boot的版本是2.0.2,整合Redis数据库.网上基于2.X版本的整个Redis少之又少,中间踩了不少坑,特此把整合过程记录,以供 ...

  4. 【SpringBoot】整合Redis实战

    ========================9.SpringBoot2.x整合Redis实战 ================================ 1.分布式缓存Redis介绍 简介: ...

  5. SpringBoot学习(七)—— springboot快速整合Redis

    目录 Redis缓存 简介 引入redis缓存 代码实战 Redis缓存 @ 简介 redis是一个高性能的key-value数据库 优势 性能强,适合高度的读写操作(读的速度是110000次/s,写 ...

  6. 完整SpringBoot Cache整合redis缓存(二)

    缓存注解概念 名称 解释 Cache 缓存接口,定义缓存操作.实现有:RedisCache.EhCacheCache.ConcurrentMapCache等 CacheManager 缓存管理器,管理 ...

  7. SpringBoot中整合Redis、Ehcache使用配置切换 并且整合到Shiro中

    在SpringBoot中Shiro缓存使用Redis.Ehcache实现的两种方式实例 SpringBoot 中配置redis作为session 缓存器. 让shiro引用 本文是建立在你是使用这sh ...

  8. springboot下整合redis使用redisTemplate模板

    pom <!-- 引入 redis 依赖 --> <dependency> <groupId>org.springframework.boot</groupI ...

  9. springboot+JPA 整合redis

    1.导入redis依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifact ...

随机推荐

  1. css 实现关闭按钮 X

    .close::before { content: "\2716";} 然后就显示出来了 这里有个更直接的例子 <!DOCTYPE html> <html lan ...

  2. [ActionScript 3.0] as3启动QQ

    import flash.html.HTMLLoader; import flash.net.URLLoader; import flash.net.URLRequest; import flash. ...

  3. 使用HBuilderX实现打包vue项目成app

    一.准备开发工具 开发工具:HBuilderX 官网地址:http://www.dcloud.io (标准版需要自己安装插件,app开发版已经把app开发常用的插件安装好了,开箱即用,建议使用开发版) ...

  4. bzoj4842: [Neerc2016]Delight for a Cat

    bzoj4842 这是一道网络流的题(大家都看出来了吧) 首先我们简化一下题目,选出最关键的部分(就是知道什么和要求什么,还有条件) 我们在这里把睡觉设为0,至少有t0时间在睡觉,把打隔膜设为1,至少 ...

  5. Camera Sensor

    camera sensor分为YUV sensor和Bayer sensor. YUV Sensor YUV Sensor输出的格式是YUV,图像的处理效果使用sensor内部的ISP,BB端接收到的 ...

  6. winform两个窗体之间传值(C#委托事件实现)

    委托 定义一个委托,声明一个委托变量,然后让变量去做方法应该做的事. 委托是一个类型 事件是委托变量实现的 经典例子:两个winform窗体传值 定义两个窗体:form1和form2 form1上有一 ...

  7. VS2015 MSVCRTD.lib(_chandler4gs_.obj) : error LNK2019: unresolved external symbol __except_handler4_common referenced in function __except_handler4

    今天在VS2015中用编译好的QT5静态库打包软件,配置好QT的静态环境后, 发现报MSVCRTD.lib(_chandler4gs_.obj) : error LNK2019: unresolved ...

  8. nuxt.js引入客户端脚本和第三方库出现window/document/ navigator未定义问题

    官方文档中已经给出解决方案: 实际操作也比较简单,比如我之前在项目中引入的wangeditor,这个插件里包含了navigator内容 解决:现在nuxt.config.js的webpack扩展配置中 ...

  9. Javac的命令

    关于命令,还可以查看<Java 7程序设计>一书后面的附录A As per javac source docs, there are 4 kinds of options: standar ...

  10. java几个经典的算法题目----------查询子串和等于已知数字

    给出一个排序好的数组和一个数,求数组中连续元素的和等于所给数的子数组 public class testClockwiseOutput { public static void main(String ...