1. 概述
服务器软件我的项目的瓶颈的个别因为海量用户和高并发引起,其中罪魁祸首是关系型数据库。起因是关系型数据库存在以下的毛病:
- 性能瓶颈:磁盘 IO 性能低下
- 扩大瓶颈:数据关系简单,扩展性差,不便与大规模集群
想要解决这个磁盘 IO 的瓶颈,于是产生一个解决思路:升高磁盘 IO,越低越好,即用内存存储。去除数据关系,越简略越好,不存储数据之间的关系,仅存数据。这就是咱们说的 Nosql
2. 什么是 NoSQL?
2.1. 概念
NoSQL: Not Only SQL(泛指非关系型数据库),作为关系型数据库的补充。NoSQL 的作用是:应答基于海量用户和海量数据的前提下的数据处理问题。其具备以下特点:
- 可扩容,可裁减
- 大量数据下高性能
- 灵便的数据模型
- 高可用
2.2. 常见的 NoSQL
- Redis
- memcache
- HBase
- MongoDB
2.3. 电商解决办法
(1)商品根本信息:名称、价格、厂商,这类结构化信息个别存在关系型数据库中,如 MySQL
(2)商品附加信息:形容、详情、评论,这类文档信息个别用 MongoDB
(3)图片信息:动态文件用分布式文件系统
(4)搜寻关键字:ElasticSearch、Lucence、solr
(5)热点信息(高频、波段性的信息):用高性能的内存数据库 redis、memcache、tair
3. Redis 的概念以及特色
3.1. 概念:
Redis(Remote Dictionary Server)是用 C 语言开发的一个开源的高性能键值对(key-value)数据库。是目前最热门的用于数据缓存,以实现高并发的工具。
3.2. 特色:
(1). 数据之间没有必然的关联关系
(2). 外部采纳单线程机制进行
(3). 高性能。官网测试数据,50 个并发执行 100000 个申请,读的速度是 110000 次 /s,写的速度是 81000 次 /s。
(4). 数据类型的反对
- 字符串类型 string
- 列表类型 list
- 散列类型 hash
- 汇合类型 set
- 有序汇合类型 sorted_set
(5). 数据长久化。能够进行数据劫难复原
3.3. redis 的利用
- 数据热点的减速查问(次要场景),如热点商品、热点新闻、热点征询、热点推广等高 访问量信息
- 工作队列,如秒杀、抢购、购票排队
- 及时信息查问,如各类排行、各类网站的拜访统计、公交到站信息、在线人数信息(聊天室、网站)、设施信号等
- 实效性信息的管制,如验证码管制、投票管制
- 分布式数据共享,如分布式集群架构中的 session 拆散
- 音讯队列
- 分布式锁
4. 总计
在这篇文章中,咱们理解了 NoSQL 的概念,同时介绍了 Redis 相干概念以及利用场景,在后续的文章中,咱们持续探讨 Redis 的常识。