今天真是丧的一天,昨天晚上11点回家,然后1点多才睡,并且还有人吵我。。。。。。
早上8点20起床,一天都没有精神。。。。一点精神没有,上午es集成到项目中,就是有bug,一直没解决。。。。。就先这样吧,并不能因为一个es影响到我的进度。。。。。
然后中午整理思绪,发现自己除了学习还是要学习。。。
下午本打算在本地把mq及分布式服务在本地搭建出环境,结果发现好像不是那么好搭建。。。。。。
唉,还是滚回来按照原计划,继续学习下一个中间件吧。。。。
来吧,redis上。。。。。。
不过,今天由于状态不是很好,我要早点回家,明天来了在继续战斗!!!
今天就简单的redis开个头吧。。。。。
redis前言-数据存储的演进
为什么要用Nosql?????????
目前我们是大数据时代,但是你知道数据是怎么演进的嘛?
数据库:就俩字-----读写
1.单机mysql时代(读写都在单机)
在90年代,一个网站的基本访问量很小,因此一个应用单个数据库完全足够,而且那时基本都是静态服务,服务器基本没压力
但是如果数据量过大,一个机器放不下,访问量过大,一个服务器受不了,那就得考虑下服务的晋级了。。。
2.缓存memcached+mysql+垂直拆分(用缓存减轻读的压力)
当数据量过大,或者服务的访问量过大的时候,就会造成瓶颈。于是尝试扩展mysql,mysql扩展的话,增加mysql的数量。但是每个mysql之间得保证数据同步,因此出现了读写分离。一个mysql负责写,其他两个负责同步。
但是由于网站80%的时间都是用来查询,因此引入缓存,提高查询效率。
3.水平拆分+mysql集群(减轻写的压力)
其实mysql就是用来存储数据的,存储数据最多的操作就是读写。。。。自然当数据量上来了,读写就会成为mysql的瓶颈。因此一开始出现缓存来减轻mysql的读的压力。
早些年mysql使用MYISAM引擎:MYISAM使用表锁, 严重影响高并发下大数据量的写的性能
后来使用mysql的INNODB引擎:使用的是行锁,在一定程度上能够减轻写的压力。
后来又推出了mysql的集群,减轻写的压力。
4.在2010-2020这段时间,整个互联网世界真的是变化太大了。。。。。
光我自己就经历普通手机到智能手机的转变。而且随着互联网的发展,现在的数据真的是量大,并且变化快啊,那些实时热点,热搜,大文件的存储、文章、博客、图片、因此mysql根本就不够用了。。。。
难不成你要用mysql存大文件嘛?存博客嘛?
目前互联网架构,最基本的就是如下如。可以看到里面有很多的服务器,为什么某站到现在还在赔钱,你懂了吗。。。。。
(一个基本的互联网网站,背后有各种负载均衡服务器、应用服务器、数据库服务器、缓存服务器、搜索服务器、短信服务器、视频流媒体服务器、文件服务器、图片服务器。。。)
目前这个世界,数据真的是爆炸,疯狂增长。。。。难不成你还用mysql???那你看不慢死你????
是不是考虑换一种数据结构了???
其实这个我早就意识到了,因为之前真的是一个表里才存了10w左右的数据,查询就已经慢的不行了。。。。。。。
别急,下篇文章,我们看看解决办法