内容索引(非关系型数据库)
- redis开发(内存型)
- Memcached(内存型)
- MongoDb(存储型)
内存型:读取速度快,容量小 存贮型:读取速度慢,存量大
NoSQL主要应用场景
- 专门应对高并发,需要高速读写的场景,redis,性能十分优越,可以支持每秒是几万次的读/写操作,其性能远超数据库,并且还支持集群、分布式、主从同步等配置;
- 天猫双11
- 抢红包、抢火车票
- ssr服务端渲染
redis
- 内容索引
- 特点
- api
- 结合nodejs应用
- 特点
- 存储结构特别 - 字典
- 内存存储与持久化 - 缓存
- 功能丰富
- 简单稳定 - 简单可依赖
- 存贮结构
- Redis是REmote dictionary server(远程字典服务器)的缩写,它以字典结构存储;
字典就是js中object 可以进行交集、并集等集合操作, js中的键的类型只能是字符串,如果是其他类型,默认做了toString操作;
- 同大多数语言的字典一样,Redis的键值除了是字符串,也可以是其他数据类型;
- 字符串
- 散列
- 列表
- 集合
- 有序集合
- 内存存贮与持久化
- redis数据库中所有的数据都存在内存中,一台普通的笔记本电脑,redis一秒可读写超过十万个键值对;但是数据存在内存中,程序退出导致数据丢失,不过redis也提供了对数据持久化的支持;
- 功能丰富
- 缓存
- 队列系统(高并发)
- redis可以为每个key设置生存时间,到期会自动删除,这一功能配合出色的性能能让它作为缓存系统来使用;
- 作为缓存系统,redis还可以限定数据占的最大空间,超过后自动删除不必要的key;
- redis的列表类型键还可以用来实现队列,并支持阻塞式读取,可以很容易实现一个高性能的优先级队列;
- redis还支持 “订阅/发布”,因此可以用来构建聊天室;
- 简单稳定
- redis的直观的存贮结构使得通过程序与redis交互十分简单,在redis中使用命令来读写数据;命令语句之于redis就相当于sql语句之与关系型数据库;
- 源代码量只有3万多行,可定制