一、Redis 简介
1、中国被世界黑的最惨的一天
2007年10月30日,北京奥运会门票面向境内公众第二阶段预售正式启动。上午一开始,公众提交申请空前 踊跃。上午9时至10时,官方票务网站的浏览量达到了800万次,票务呼叫中心热线从9时至10时的呼入量超 过了380万人次。由于瞬间访问数量过大,技术系统应对不畅,造成很多申购者无法及时提交申请,为此北 京奥组委票务中心对广大公众未能及时、便捷地实现奥运门票预订表示歉意。
2、不可回避的问题
奥运会门票预售系统开放第一天,上午9点正式开始售票到中午12点,3个小时内,票务网站被浏览次数达到2000万次。
3、一个神奇的网站
3、大型翻车现场
4、问题现象
1)、海量用户的访问
2)、高并发,海量用户同时访问你的网站
5、罪魁祸首——关系型数据库
1)、性能瓶颈:因为磁盘的IO读写的性能低下
2)、扩展瓶颈:数据关系复杂,扩展性差,不便于大规模集群
6、解决思路
1)、降低磁盘IO次数,越低越好 —— 内存存储
2)、去除数据间关系,越简单越好 —— 不存储关系,仅存储数据
7、Nosql 非关系型数据库
NoSQL:即 Not-Only SQL( 泛指非关系型的数据库),作为关系型数据库的补充。
作用:应对基于海量用户和海量数据前提下的数据处理问题。
特征:
1)、可扩容,可伸缩
2)、大数据量下高性能
3)、灵活的数据模型
4)、高可用
常见 Nosql 数据库:
1)、Redis
2)、memcache
3)、HBase
4)、MongoDB
8、解决方案(电商场景)
9、Redis
概念:Redis (REmote DIctionary Server) 是用 C 语言开发的一个开源的高性能键值对(key-value)数据库。
特征:
1)、数据间没有必然的关联关系
2)、内部采用单线程机制进行工作
3)、高性能。官方提供测试数据,50个并发执行100000 个请求,读的速度是110000 次/s,写的速度是81000次/s。
4)、多数据类型支持
-
字符串类型 string
-
列表类型 list
-
散列类型 hash
-
集合类型 set
-
有序集合类型 sorted_set