SpringBoot之整合Redis

摘要:
版本>args);nodes=newHashSet<}JedisClusterjedisCluster=newJedisCluster(节点);bean/>@OverridepublicStringfindRedis(){returnjedisCluster.get(“name”);

一、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》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇XNA游戏开发之(六)——保存游戏数据Eclipse开发Maven项目提示:程序包org.junit不存在解决方案下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

hdu 4651 Partition (利用五边形定理求解切割数)

下面内容摘自维基百科:五边形数定理[编辑] 五边形数定理是一个由欧拉发现的数学定理,描写叙述欧拉函数展开式的特性[1] [2]。欧拉函数的展开式例如以下: 亦即 欧拉函数展开后,有些次方项被消去,仅仅留下次方项为1, 2, 5, 7, 12, ...的项次,留下来的次方恰为广义五边形数。 当中符号为- - + + - - + + ........

openstack 笔记 (二) 环境的搭建

1.系统的准备   这里用 vm 软件虚拟了三台linux 服务器:系统版本是centos7 64位系统     general node 01: 2核2g40gb        contorl node01:  1核1g40gb     general node 02:  1核1g40gb https://blog.csdn.net/bbwangj/ar...

线上redis bgsave导致服务响应延迟

最近一个服务上线一个月后出现某个时间段响应延迟的问题,先看下监控数据: 这里有一点,单台实例的并发最高达到200是因为没修改spring boot中tomcat默认的最大线程数(默认是200)。 从上图可以看出21点—24点以及第二天08点—11点服务的延迟已经达到s级别,甚至严重时已经达到30多s,整个app基本不可用。 问题第一次出现时,整个服务启了...

angular2 支持排序的拖拽组件ng2-dragula

    最近项目上遇到需要拖拽的需求,于是就在github上找了一些相关组件,最后看中了ng2-drag-drop和ng2-dragula,但是ng2-drag-drop组件本身拖拽的时候不支持拖拽元素放在拖拽目标的任意位置,只能放置在拖拽目标那一列的最后。所以最后使用了ng2-dragula。 github地址:https://github.com/va...

Windows下Redis的安装和部署

Redis 简介 Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。 Redis 与其他 key - value 缓存产品有以下三个特点: Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。 Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,z...

3.6.1最大熵阈值分割寻找阈值实现图像二值化

1 #include <opencv2/imgproc/imgproc.hpp> 2 #include <opencv2/core/core.hpp> 3 #include <opencv2/highgui/highgui.hpp> 4 #include <iostream> 5 6 usin...