千家信息网

redis如何扩容

发表于:2025-02-05 作者:千家信息网编辑
千家信息网最后更新 2025年02月05日,这篇文章主要介绍了redis如何扩容,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。方案一:首先想到的是,增加Redis服务器的数量,在客户
千家信息网最后更新 2025年02月05日redis如何扩容

这篇文章主要介绍了redis如何扩容,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。

方案一:

首先想到的是,增加Redis服务器的数量,在客户端对存储的key进行hash运算,存入不同的Redis服务器中,读取时,也进行相同的hash运算,找到对应的Redis服务器,可以解决问题,但是不好的地方:

第一,客户端要改动代码;

第二、需要客户端记住所有的Redis服务器的地址;

这个方案可以使用,但能不能不用改动代码就能实现扩容呢?

方案二:

搭建一个集群,由于Redis服务器使用的版本低于3.0,不支持集群,只能通过使用代理,就想到了有名的Redis代理twemproxy。

twemproxy的性能也是杠杠滴,虽然是代理,但它对访问性能的影响非常小,连Redis作者都推荐它。

twemproxy使用方便,对于一个新手来说,不到一个小时就能学会使用,而且关键是不用改动客户端代码,几乎支持所有的Redis命令和管道操作,只需要改下客户端的配置文件中配置的Redis的IP和PORT,由原来的Redis的IP和Port改成twemproxy服务的IP和PORT。

客户端不需要考虑hash的问题,这些twemproxy会做,客户端就像操作一台Redis一样。

上面用了"几乎"这个词,因为有些命令,比如"keys *"就不支持

很快部署了好了twemproxy和后面跟着的四个Redis机器,压测发现,后面的四台Redis的CPU使用率降下来了,但新问题来了,twemproxy也是单进程的!性能瓶颈又跑到twemproxy上来了!

方案三:

对Redis的访问分为写和读,类似生产者和消费者, 再仔细分析,发现写的少,读的相对多些,这就可以将读写分离,写的往主的写,读的从备的读,遇到的情况恰好是读和写是两个服务,做到读写分离通过改下配置信息就可以很简单的做到,,这样分散了主Redis的压力。

这里对Redis的访问压力有好转,但不是长久之计,比如遇到举办活动, 数据量增大时,还是会有性能的风险。

最终采用的方法是综合方案二和三,如下图所示:

这种方法对现有的服务改动最小,可以有效缓解redis压力的问题

producer端和consumer端的twemproxy使用的hash算法要求一致,不然找不到key了。

如果把方案一也加进来,会比较复杂,暂时用不到。

感谢你能够认真阅读完这篇文章,希望小编分享redis如何扩容内容对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,遇到问题就找,详细的解决方法等着你来学习!

服务 客户 客户端 方案 服务器 问题 性能 支持 代码 压力 方法 篇文章 代理 配置 不用 命令 端的 集群 运算 不同 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 删除的数据库文件恢复 5g网络技术sdn mc怎么看服务器有哪些人 剑三最新服务器列表 深圳一峰互联网科技公司 无线传感器反应网络技术特征 桥西区软件开发计算机培训学校 数据库求求三门平均分 mc怎么进服务器 万维网络安全教育 宝山区高科技网络技术诚信服务 win7本地安全机构数据库 数据库改英文字符集 软件开发是本科生多还是大专多 贵州安全运维网络安全 网络技术最高水平的的人叫什么 数据库如何向表中添加列值为空 贵州首选dns服务器怎么填 steam好友服务器维护到几点 深圳互联网科技园在哪里 桥西区软件开发计算机培训学校 湖南电商erp软件开发 网络安全方案性能分析报告 零基础能学网络安全工程师吗 交通网络安全自查报告 苏州系统软件开发定制 规范软件开发方法 陆宝华网络安全 我的世界服务器怎么不删除背包 ATTO网络技术专家
0