服务器软件项目的瓶颈的一般由于海量用户和高并发引起,其中罪魁祸首是关系型数据库。原因是关系型数据库存在以下的缺点:
想要解决这个磁盘IO的瓶颈,于是产生一个解决思路:降低磁盘 IO,越低越好,即用内存存储。去除数据关系,越简单越好,不存储数据之间的关系,仅存数据。这就是我们说的 Nosql
NoSQL: Not Only SQL(泛指非关系型数据库),作为关系型数据库的补充。NoSQL 的作用是:应对基于海量用户和海量数据的前提下的数据处理问题。其具有以下特点:
(1)商品基本信息:名称、价格、厂商,这类结构化信息一般存在关系型数据库中,如MySQL
(2)商品附加信息:描述、详情、评论,这类文档信息一般用 MongoDB
(3)图片信息:静态文件用分布式文件系统
(4)搜索关键字:ElasticSearch、Lucence、solr
(5)热点信息(高频、波段性的信息):用高性能的内存数据库 redis、memcache、tair
Redis(Remote Dictionary Server)是用 C 语言开发的一个开源的高性能键值对(key-value)数据库。是目前最热门的用于数据缓存,以实现高并发的工具。
(1). 数据之间没有必然的关联关系
(2). 内部采用单线程机制进行
(3). 高性能。官方测试数据,50 个并发执行 100000 个请求,读的速度是 110000 次/s,写的速度是 81000 次/s。
(4). 数据类型的支持
(5). 数据持久化。可以进行数据灾难恢复
在这篇文章中,我们了解了NoSQL的概念,同时介绍了Redis相关概念以及应用场景,在后续的文章中,我们继续探讨Redis的知识。