Redis是什么?
Redis是一种基于键值对的 NoSQL 数据库,与很多键值对数据库不同,redis 中的值可以有string,hash,list,set,zset,geo 等多种数据结构和算法组成。因为 Redis 会将所有的数据都放在内存中,所以他的读写性能非常惊人,不仅如此,Redis 还可以将内存中的数据利用快照和日志的形式保存到硬盘上,Redis 还提供了键过期,发布订阅,事务,流水线等附加功能。
Redis重要特性
1、速度快
- Redis 所有的数据都存放在内存中
- Redis 使用 C 语言实现
- Redis 使用单线程架构
2、基本的数据结构,例如以下几种:
- String: 字符串
- Hash: 散列
- List: 列表
- Set: 集合
- Sorted Set: 有序集合
3、丰富的功能
- 提供了键过期功能,可以实现缓存
- 提供了发布订阅功能,可以实现消息系统
- 提供了 pipeline 功能,客户端可以将一批命令一次性传到 Redis,减少了网络开销
4、简单稳定
- 源码很少,3.0 版本以后 5 万行左右
- 使用单线程模型法,使得 Redis 服务端处理模型变得简单
- 不依赖操作系统中的类库
5、客户端语言多
- java,PHP,python,C,C++,Nodejs 等
6、持久化
- RDB 和 AOF
7、主从复制