Redis的优缺点(为什么要使用Redis)

Redis简介

Redis是一个开源的使用ANSI 由C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API,典型的 NoSQL 数据库。

Redis的优点

丰富的数据类型

Redis 的出色之处不仅仅是性能,Redis 最大的魅力是支持保存多种数据结构,redis支持set,zset,list,hash,string这五种数据类型,此外单个 Value 的最大限制是1GB,不像 Memcached只能保存1MB的数据,因此Redis可以用来实现很多有用的功能

纯内存操作

(1) 因为数据存在内存中,类似于 HashMap ,HashMap 的优势就是查找和操作的时间复杂度都是O (1) 。 (2) Redis 本质上是一个 Key-Value 类型的内存数据库,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据 flush 到硬盘上进行保存。fork子进程持久化。 (3) 因为是纯内存操作,Redis 的性能非常出色,每秒可以处理超过 10 万次读写操作,是已知性能最快的 Key-Value 数据库。

丰富的特性

订阅发布 Pub / Sub 功能 Key 过期策略 事务 支持多个 DB 计数

Redis的缺点

1、由于是内存数据库,所以,单台机器,存储的数据量,跟机器本身的内存大小。虽然redis本身有key过期策略,但是还是需要提前预估和节约内存。如果内存增长过快,需要定期删除数据。 2、单线程操作,无法利用多核CPU的优势 3、如果进行完整重同步,由于需要生成rdb文件,并进行传输,会占用主机的CPU,并会消耗现网的带宽。不过redis2.8版本以后,已经有部分重同步的功能,但是还是有可能有完整重同步的。比如,新上线的从库。

参考博客: https://blog..net/weixin_33735676/article/details/92623614

经验分享 程序员 微信小程序 职场和发展