一个节日的晚上,那些加班的程序员在做什么? 每当过节的时候,我们在电脑边买买买,在视频上刷剧刷剧刷剧。当我们看的很爽的时候,买的很欢乐的时候,你一定不知道程序员在背后一直为你做着技术后盾。 我们最大的心愿就是让你玩的爽、看的多,那么在今天这种片子数不胜数、商品越来越多的网站上,要想抗住用户量,不让服务器挂掉,是要靠技术的。 什么技术让程序员们如此期待呢? 这就是 Redis 缓存技术。当用户量不大的时候,我们直接连数据库一点问题都没有。 但是随着人数越来越多,用户量也日趋增多,随随便便就100万 QPS(每秒内查询次数),只有能抗住 QPS,我们才会一直使用这个软件。 传统的数据库是很难实现的,这是因为关系数据库是有资源池的,但是资源池本事又有限,只要超过资源池的访问,数据库服务器就会挂掉。 小何是我们这里的程序员,每当节假日,他基本上会忙的很晚,他只在做一件事 — 监控用户量。 这个监控倒不是监控隐私信息,而是监控数据量大的时候,服务器的负载和内存是否能抗住。 其实当我问他现在累不累,他闷骚的笑容和日渐肥胖的身材告诉我,现在他很舒服了。 小何回想当年,每次我们公司搞秒杀、促销的时候,那叫一个痛苦啊。不是哪个机房的数据库挂掉了,就是线程阻塞了,整个公司程序员总是在不断重启中度过。 导致我们只能使用小米之前经常用的排队策略(顾名思义,就是限制了用户量,让一部分先进来的人抢商品,其他人就在外面等,里面哪个人抢完了以后,出来一个,排队的放一个)。 很悲催吧,这还不算。还有更多的无奈,比如用户小手一抖,买了,结果没付款,你想到的意外发生了,服务器挂了,用户付不了钱,各种压力吃给客服,导致客户小妹妹压力山大啊。 我们想这样子不行啊,于是我们决定使用 Redis。 那么,为什么我们选 Redis 呢? 首先 Redis 号称是史上最快的数据库,而且不需要重新改变原来的关系数据库(我们原来的数据库是 Mysql)。 其次 Redis 可以使用事务功能,不要小看事务功能,他能保证用户一系列的业务流程统一。 再次我们为了保证网络带宽,使用了 pipeline(流水线)功能。这个功能可以一次性把一堆命令一次性传到 Redis,减少了网络开销。 最后 Redis 的持久化,这是非常重要的机制,虽然 Redis 快,但是它的快是取决于它运行在内存中,一旦发生意外或者断电,就可能丢失重要信息。这个时候,持久化就起到作用了。 上了 Redis 后我们很快发现,原本只是为了减少客服压力的 Redis,后来支撑了我们业务的主要缓存架构,成为项目流程中重要的一环。 在《Redis 入门到分布式实践》中讲解如何用正确的姿势来使用 Redis,根据公司开发经验,我们团队会为大家讲解如何使用 Redis 以及高级功能; 具体安排:
这还不够,我们日常使用的是 Liunx 系统的运维,我们会教你如何正确的方法运维攻略;甚至系统的讲解如何正确的配置 Redis 集群和分布式方案。 之所以要讲解一整套 Redis 攻略,我发现很多新学 Redis 的朋友会误入歧途,总是以为 Redis 只要学好如何使用就好了。 其实 Redis 的操作是非常简单的,如果你阅读完如何使用 Redis 客户端,你会发现 Redis 的使用实在是 so easy。 但是当服务器出现问题的时候,如何快速的判断缓存问题,是需要一整套 Redis 的知识的。 网上纵然有很多教程,但是我却发现没有实际纠错的课程,不能让你系统学习到 Redis 的知识网络。还等什么呢? 扫描下方二维码,加入Redis学习的队伍:
|
|
来自: 昵称48052010 > 《待分类》