Redis 主从复制,读写分离的疑问???

发布于 2022-09-04 12:23:52 字数 382 浏览 14 评论 0

问题:
现在想要做Redis集群,也就是主从复制(一主多从),常规也就是“写入操作”往主,“查询操作”往从库。

那么依据惯例,应该是
(1)使用中间件的方式分发读、写操作到对应的Redis节点
(2)在代码里,对读和写的操作指定对应的Redis节点
(例如这种:http://blog.csdn.net/u0129790...

但是第二种方式似乎较繁琐,想采用第一种方式,但苦于没查到对应的资料,难不成都是采用第二种方式。
想询问下大家,一般是怎么做的呢?

感谢:)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

趁微风不噪 2022-09-11 12:23:52

泻药,然而并没有相关经验,以下属于强答,仅供参考

既然要采取写入操作往 主库*1 ,查询操作往 从库*N 的策略。
写入操作可以直接写死到对应的Redis节点。
读取操作则需要一个分发的策略,如何从N里面选择出1个。

中间件方式,通常要求中间件服务器和Redis和PHP都有(延时、带宽)较好的连接。
然后中间件服务器,无论是纯随机分配,或者根据IP分配,根据IP的Hash值分配,或者其它等等的方式,选择一个(经检验)可用的Redis节点,进行数据的获取(和检验、处理等)和转发。

个人感觉,通常没必要用中间件,可以参考数据库的主从的思路,通常数据库连接的代码(或者连接配置),我们会分离出来单独作为一个文件,同样的,可以把Redis节点的选择分配也写到一个统一的单独的文件(问题里提到的那个博客里称之为Redis的缓存驱动)里,然后都使用这个,就好了。

等往事风中吹 2022-09-11 12:23:52

最后使用了redis cluster,目前运行良好。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文