Redis是基于键值对的NoSQL数据库,相对于其他非关系型数据库不同的地方是,Redis的value具有丰富的数据结构。Redis的value又可以由String、list、set、hash、set、zset等多种数据结构组成,也可以是算法(初学还没遇到)。正是因为Redis丰富的数据结构类型,让其拥有了广泛的应用场景。而Redis将所有数据都放在内存中,让Redis具有非常惊人的读写能力,而且Redis具有一个非常显著的特性--能够持久化。除此之外,Redis还具有键过期、发布订阅、事物等功能。
Redis的特性 :
1、速度快
Redis的读写速度能达到10万次/秒。为什么Redis能达到这么快的速度你,主要是由于这几个原因:redis将数据都放在内存中,这是最主要原因;redis是用C实现的,C语言更贴近系统,速度相对较快;Redis采用单线程架构,避免了多线程可能会产生的竞争问题。
2、基于键值对的数据结构服务器
3、丰富的功能(上文中已经提及)
4、简单稳定
Redis简单主要体现在三个方面:源代码少;单线程架构;不需要依赖操作系统中的内库,自己实现了事件处理的相关功能。
5、客户段语言多
6、持久化
Redis提供了两种持久化方法即:RDB和AOF。
7、主从复制
8、高可用和分布式
Redis应用场景:
1、缓存
缓存机制几乎存在于所有的大型网站,合理的使用缓存不仅加快访问速度,而且能够有效的减小服务器端的压力。
2、排行榜系统
3、计数器应用
4、社交网络
5、消息队列系统
但是Redis也有本身的局限性,由于Redis的数据存储在内存中,所以Redis并不适合处理大规模的数据量,而且Redis并不适合处理冷数据,而更适合频繁读的热数据。