springboot+ redis-cluster

我们现在的系统对高可用高并发的需求越来越高了。通常为降低应用内存压力,减少IO消耗我们会选用redis来做缓存。

springboot 应用接入redis

我这里简单提一下 也可以参考之前的redis入门

  1. pom.xml
 <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
            <!--<version>${
   redis.version}</version>-->
</dependency>
  1. 并在yml 中配置redis 信息

当然springboot 1.X 与springboot2.x 配置参数命名会稍许不同,这里使用的1.5

spring.redis.host=***
spring.redis.port=6379
spring.redis.password=123
  1. 应用
    这时候你就可以在代码中直接注入redisTemplate 了
public class IndexController {
   
@Autowired
	private StringRedisTemplate stringRedisTemplate;
@RequestMapping({
    "/test" })
	@ResponseBody
	public String rediesRest(ServletRequest request) {
   
		stringRedisTemplate.opsForValue().set("test", "laowang");

		return stringRedisTemplate.opsForValue().get("test");
	}

redis的高可用

当然有了docker之后部署redis应用也就几秒钟的事了。

但是redis也会有性能瓶颈,这个时候redis的高可用就有必要了。

redis 的集群方案:
参考这个文章redis集群方案redis 集群详解

  1. 主从复制

当slave启动后,主动向master发送SYNC命令。master接收到SYNC命令后在后台保存快照(RDB持久化)和缓存保存快照这段时间的命令,然后将保存的快照文件和缓存的命令发送给slave。slave接收到快照文件和命令后加载快照文件和缓存的执行命令。
复制初始化后,master每次接收到的写命令都会同步发送给slave,保证主从数据一致性。

  1. 哨兵模式

在主从的机制上引入哨兵进程:
1 监控主从数据库是否正常运行
2 master出现故障时,自动将slave转化为master
3 多哨兵配置的时候,哨兵之间也会自动监控
4 多个哨兵可以监控同一个redis

  1. Redis-Cluster集群

在redis的每一个节点上,都有这么两个东西,一个是插槽(slot),它的的取值范围是:0-16383。还有一个就是cluster,可以理解为是一个集群管理的插件。当我们的存取的key到达的时候,redis会根据crc16的算法得出一个结果,然后把结果对 16384 求余数,这样每个 key 都会对应一个编号在 0-16383 之间的哈希槽,通过这个值,去找到对应的插槽所对应的节点,然后直接自动跳转到这个对应的节点上进行存取操作。
为了保证高可用,redis-cluster集群引入了主从模式,一个主节点对应一个或者多个从节点,当主节点宕机的时候,就会启用从节点。当其它主节点ping一个主节点A时,如果半数以上的主节点与A通信超时,那么认为主节点A宕机了。如果主节点A和它的从节点A1都宕机了,那么该集群就无法再提供服务了。

springboot 接入 redis cluster
yml 中配置 集群信息

spring:
  redis:
    password: fuyun_redis
    cluster:
      nodes: 127.0.0.1:8001,127.0.0.1:8002,127.0.0.1
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值