redis 入门看这系列就够了 - 开场篇
虽然我很渺小,但我还想分享
有需要****下载需求的同学,评论关注回复我咋都可以,***免费给大家下载***⚽
有需要阿里云Linux服务器练手的同学,评论关注回复我咋都可以,***免费给大家分享***⚽,只要不删库跑路就好????
我坚信爱分享的人运气一定不差,进步很快乐,分享更快乐????
这有你们想要听的故事!
- 经理 : 兄弟,我有一个新需求,需要做一个整点抢购活动的功能,这次客户的产品到时候可是并发万级的流量,好好想想吧!
- 本狗 : 这有啥难得,给个设计一个到时抢购时间,然后在抢购处加入锁,完活,走你。
- 经理 : 来来来!兄弟,这数据库内存咋占用这么多,而且还有时候卡住,好像抵挡不住这百万级的点击量啊,怎么回事啊,是不是代码有问题啊!
- 本狗 : …(mmp,被发现了????)神马啊!这并发量太大了,你这服务器不行,而且网不好,刷新下就好了,不行就重启,再不行就把数据库读写分离,分库分表…
- 经理 : 别说这没有用的,人家萌妹子写的咋没问题,到你这又这个那个了,就没个能够读写抵挡万并发的工具。能干干,不能干滚蛋!
- 本狗 : …(内心一万只草泥马) …竟无语凝噎,菜鸡被啄????
So :当高并发且数据量庞大的时候,读取硬盘的数据库操作远远不满足现实需求,所以redis来了。
叨叨这么多,redis是啥玩意。我相信代码源于生活,生活中的栗子????,才更容易理解。客观留步慢慢往下看!
假如你下定决心要大扫除,秉着一腔热血自己开干。面对这无数的垃圾里,你感到无助想到退却,忽然在角落里发现了一个智能扫地机器人,于是乎关于你们的故事开始了。
- 满屋的垃圾 = 并发几万级的流量数据
- 自己扫 = 关系型数据库
- 扫地机器人 = 分布式缓存数据库,在这里指redis
????️屋里的垃圾 ,就是我们要处理并发的大量数据;
????️自己拿着扫帚,就是将数据存贮在数据库硬盘中;
????扫地机器人,就是redis。
1.如果你觉得自己勤快,选择亲力亲为自己扫,虽然节省电费,但是费时费力,巨大的消耗导致最终人累倒。
➡️ 这种情况是当数据量并发量巨大且不需要保证其完全准确性时,如果采用关系型数据库(如mysql)进行交互,读写占用巨大资源,导致瓶颈后影响性能,严重者导致宕机。
2. 如果你是个比较爱偷懒的,选择完全使用扫地机器人。这虽然会节省自己的体力,而且工作效率高,但是电费昂贵,而且扫地机器人总用扫满的时候,就会导致机器停工。
➡️ 这种情况是完全把数据持久化压力交给redis,但是redis是分布式内存数据库,如果过度依赖内存,那么花费开销十分巨大,随性能提升,但是也不能不计成本。
3. 如果你是个喜欢合作的人,采用和扫地机器人一同协作,让机器人帮你搞定大量垃圾,然后把需要整理重要的垃圾交由你来处理。于是乎你和扫地机器人快乐的合作起来,扫了一屋也扫了天下。
➡️ 这种情况则是最佳方案,使用redis进行大数据高并发的抵挡,然后将需要持久化保存的数据交由关系型数据库,达到互补,提高性能。
故事听完了,开始我们的表演吧!
1. 什么是redis?
行话
Redis:REmoteDIctionaryServer(远程字典服务器)是完全开源免费的,用语言编写的,遵守BSD协议,是一个高性能的(key/value)分布式内存数据库,基于内存行并支持持久化的NoSQL数据库,是当前最热门的NoSql数据之一,也被人们称为数据结构服务器。
土味情话
我片面的认为redis就是挡在数据库之前的盾牌,数据库的sql操作会进行磁盘读写,并发量最高也就几万条每秒,一般可满足需求。但如果类似支付宝春晚红包,或者京东抢购之类的高并发,就像mysql,oracle之类的也会有性能瓶颈,超过亿万级并发那就只能over等死了。redis是会将数据保存在内存中也会定期存储到硬盘,速度快的嗖嗖的。所以当这些高并发的时候就需要redis抵挡一层,分散数据库压力,并且高效快捷。
2. redis用在哪?
- 会话缓存(最常用)
- 消息队列,
- 活动排行榜或计数
- 发布,订阅消息(消息通知)
- 商品列表,评论列表等
3.redis去哪下?
官网在此,谁敢造次
https://redis.io/
4.redis掌握目标?
- 数据类型、基本操作和配置
- 持久化和复制,RDB/AOF
- 事务的控制
???? 下章剧透,redis的下载与安装
此章到这里啦,我是JavaDog,谢谢博友看完了,点个赞再走呗。