是什么
- 开源免费
- 遵守BSD协议
- 是一个高性能的key-value数据库
特点
- 支持持久化(可以将内存中的数据保存在磁盘中,重启的时候可以再次使用ps:不会宕机就没了)
- 既支持key-value类型的数据,又支持list、set、zset、hash等数据结构的存储
- 支持数据的备份(master-slave)模式的数据备份
优势
- 性能极高(读:10000次/s,写:81000次/s )
- 数据类型丰富( Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作)
- 原子(Redis的所有操作都是原子性的,意思就是要么成功执行要么失败完全不执行。单个操作是原子性的。多个操作也支持事务,即原子性,通过MULTI和EXEC指令包起来。)
- 丰富的特性(Redis还支持 publish/subscribe, 通知, key 过期等等特性。)
与其他k-v存储的不同
- 更为复杂的数据结构并提供原子性操作
- 其数据类型都是基于基本数据结构的,对程序员透明,不需要惊醒额外的抽象
- 运行在内存中但可以持久化到磁盘(所以在对不同数据集进行高速读写时需要权衡内存,因为数据量不能大于硬件内存)
- 内存数据库方面:相比在磁盘上相同的复杂数据结构,在内存中操作起来非常方便,可以做很多内部复杂性很强的事情
- 磁盘格式方面:紧凑的以追加的方式产生的(因为他们并不需要进行随机访问。)