高效使用Redis:一书学透数据存储与高可用集群
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

第1章 Redis必会知识

Redis是目前较为流行的key-value对(键-值对)存储系统。Redis在互联网数据存储方面应用广泛,主要由于其具有以下优点。

1)Redis是内存型数据库,即Redis中的key-value对存储在内存中,故效率比磁盘型数据库的效率高。

2)Redis采用单线程工作模式,不需要线程间的同步操作。Redis采用单线程工作模式,主要是因为Redis的瓶颈是内存及带宽,CPU并不是其性能瓶颈。

3)Redis key-value对中的value既可以是字符串,也可以是复杂的数据类型,如链表、集合、Hash表等。

4)Redis支持数据持久化,可以采用RDB、AOF、RDB+AOF这3种方案。机器重启后可以从磁盘中进行数据恢复。

5)Redis支持主从结构,可以利用从实例进行数据备份。

Redis可以支持100000以上的QPS,其性能之所以高,主要有以下几个原因。

1)Redis的绝大部分命令处理只是纯粹的内存操作,内存的读写速度是非常快的。

2)Redis提供单进程多线程的服务(实际上,一个正在运行的Redis服务器肯定不止有一个线程,但只有一个线程来处理网络请求),避免了不必要的上下文切换,同时不存在加锁、释放锁等同步操作。

3)Redis使用多路I/O复用模型(select、poll、epoll),可以高效处理大量并发连接。

4)Redis中的数据结构是专门设计的,增、删、改、查等操作相对简单。