Redis高并发模式的使用缺点和优点分析


使用Redis的几种常见方式包括:Redis单机。Redis(主从复制)RedisCluster.Redis自行开发。各种用途的优缺点。Redis单机。Redis单机采用单Redis节点部署架构,没有备用节点实时同步数据,不提供数据持久化和备份策略,适用于数据可靠性要求较低的纯缓存业务场景。优点。架构简单,部署方便。高性价比:使用缓存时不需要备用节点(单个实例的可用性可以由supervisor或crontab保证)。当然,为了满足服务的高可用性,也可以牺牲一个备用节点,但同时只有一个实例向外界提供服务。高性能。缺点。数据的可靠性没有保证。使用缓存并重新启动进程后,数据会丢失。即使有备用节点解决高性能,仍然无法解决缓存预热问题,不适合数据可靠性要求高的业务。高性能受限于单核CPU的处理能力(Redis是单线程机制),CPU是主要瓶颈,适合操作命令简单、排序、计算量少的场景。也可以考虑改用memcached。


Redis(主从复制)Redis多副本采用主从部署结构,具有主从实例间实时数据同步的特点,与单副本相比提供数据持久化和备份策略。主实例和从实例部署在不同的物理服务器上。根据公司的基本环境配置,可以同时向外界提供服务,实现读写分离策略。优点。可靠性高:一方面,双击式主备架构可以在主库出现故障时自动切换主备,从库升级为主库提供服务,保证服务的顺利运行;另一方面,开放数据持久化功能,配置合理的备份策略,可以有效解决数据误操作和异常数据丢失的问题。读写分离策略:从节点可以扩展主库节点的读取能力,有效处理大型并发读取操作。


缺点。故障恢复很复杂。如果没有RedisHA系统(需要开发),当主库节点出现故障时,需要手动将一个从节点提升为主节点,同时需要通知业务端更改配置,其他从库节点需要复制新的主库节点。整个过程需要人为干预,比较繁琐。主库的写入能力受单台计算机限制,可以考虑碎片化。主库存储容量受单台电脑限制,可以考虑鼠兔。本机复制的缺点在早期版本中也很突出。例如,在Redis复制被中断后,从属将启动psync。如果同步不成功,将执行完全同步。当主库执行完全备份时,可能会导致毫秒级或二级阻塞。由于COW机制,在极端情况下主库内存溢出,程序异常退出或宕机;主库节点生成的备份文件导致服务器磁盘IO和CPU资源的消耗;发送几千兆字节大小的备份文件会导致服务器导出带宽突然增加并阻止请求。建议升级到最新版本。

分享: