Redis高性能特性

Redis英文名全Remote Dictionnary Server是一个使用ANSI C语言编写、基于Key-value键值对的数据库存储系统。同时它还支持网络通信、数据持久化、并拥有诸如字符串(string)、链表(list)、集合(set)、有序集合(zset)和哈希类型(hash)等丰富的数据结构,每种数据结构还对应了一种或多种数据类型的存储结构。Redis 每种数据都可以进行push/pop、并集、交集等一系列原子性操作,并提供多种语言的API,是一个高性能的非关系型开源存储系统。Redis的高性能主要体现在以下几个方面:
(1)存储速度很快: Redis读写数据完全基于内存,所以数据存取速度很快。它的最大吞吐量能达到10万,平均每秒能进行11万的集合操作。
(2)数据类型存储丰富: Redis支持多种不同类型的数据结构, 包括集合、有序集合、哈希等。不同的数据类型使Redis能应用于不同的业务场景。
(3)单线程单进程模型: Redis内部主要是使用单线程的IO复用模型,并支持使用select、poll、epoll的等方式的事件处理器, 单线程模型可以充分利用CPU资源,将速度优势发挥到最大。
(4)分布式集群:Redis除了支持单机模式,主从模式以外还自带了Redis集群

方案,如图在这里插入图片描述

图 Redis 集群方案图
Redis Cluster方案把所有物理节点映射到[0-16383]个节点上,可以当做16384 个桶, 当需要在Redis里面放置一个key-value时可以根据特定的算法, Redis默认采用CRC16(key)mod16384来计算每个key对应的value值,并将得到的值映射到对应的桶上。除此之外,Redis不同节点之间采用二进制传输协议进行互相通信,节点与节点之间通过心跳检测机制进行故障切换,从而保障集群的高可用性与容错性。

猜你喜欢

转载自blog.csdn.net/qq_42918433/article/details/113940922