jedissentinelpool 会自动读写分离吗

2025-03-04 13:24:12
推荐回答(1个)
回答1:

首先说结论:这个要跟你具体的架构实现以及业务相关,常见的应用场景下我觉得redis没必要进行读写分离。


先来讨论一下为什么要读写分离:

读写分离使用于大量读请求的情况,通过多个slave分摊了读的压力,从而增加了读的性能。

过多的select会阻塞住数据库,使你增删改不能执行,而且到并发量过大时,数据库会拒绝服务。

因而通过读写分离,从而增加性能,避免拒绝服务的发生。

我认为需要读写分离的应用场景是:写请求在可接受范围内,但读请求要远大于写请求的场景。


再来讨论一下redis常见的应用场景:

  1. 缓存

  2. 2. 排名型的应用,访问计数型应用

  3. 3. 实时消息系统

首先说一下缓存集群,这也是非常常见的应用场景:

  1. 缓存主要解决的是用户访问时,怎么以更快的速度得到数据。

  2. 2. 单机的内存资源是很有限的,所以缓存集群会通过某种算法将不同的数据放入到不同的机器中。

  3. 3. 不同持久化数据库,一般来说,内存数据库单机可以支持大量的增删查改。

  4. 4. 如果一台机器支持不住,可以用主从复制,进行缓存的方法解决。

  5. 综上,在这个场景下应用redis 进行读写分离,完全就失去了读写分离的意义。