首页
学习
活动
专区
工具
TVP
发布

进击的Coder

专栏成员
559
文章
1324340
阅读量
200
订阅数
今天面了个阿里秒杀组的,见识到了八股文天花板!
秒杀系统为什么如此经典,常常被人拿出来讲? 因为它是一个典型的读远大于写的业务场景。同样地,抢票软件也是这个逻辑,1 趟火车只放 2000 张票,可是却有成百上千万人同时在网站上抢,看到这里你大概意识到这类业务为什么难做了。 此外任何大型网站应用,只要涉及大流量、高并发,都免不了在浏览器层、站点层、服务层、数据层这几层核心上下功夫。 因此,秒杀系统的调优策略,放在很多分布式系统中都是适用的: "请求超过了系统负载怎么办?如何保证分布式事务中的消息不丢失?什么情况下使用 Redis 缓存……" 尤其金三银四
崔庆才
2022-05-25
8960
阿里二面被问 Redis 主从复制和集群,14:03 进去的,14:08 就出来了…
要说在近几年的面试里,考察难度只增不减的,Redis 可谓是当仁不让! 而往前倒推几年,最人气的 NoSQL 数据库还是 MongoDB,同一年发布的 Redis 甚至排不上号。 归功于这几年缓存技术的发展、企业对性能的要越来越高,而 Redis 最大的优势,就是快!(快字我已经说腻了) 网友对几大主流数据库的形象总结 因此,现在出去面试 Java/ 后端开发等类型的岗位,Redis 是绝对绕不开的一趴: Redis 持久化机制 缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等问题 单线程的 Redi
崔庆才
2022-03-04
3120
干货!爬虫框架 Feapder 和 Scrapy 的对比分析
scrapy 自带的重试中间件只支持请求重试,解析函数内异常或者数据入库异常不会重试,但爬虫在请求数据时,往往会有一些意想不到的页面返回来,若我们解析异常了,这条任务岂不是丢了。
崔庆才
2021-10-08
2.2K0
我给 Scrapy Redis 开源库发的 PR 被合并了
不知道大家基于 Scrapy-Redis 开发分布式爬虫的时候有没有遇到一个比较尴尬的问题,且听我一一道来。
崔庆才
2021-03-23
4810
一日一技:除了 time.sleep,你还有一个暂停代码的方法
我们知道,在 Python 里面可以使用time.sleep来让代码暂停一段时间,例如:
崔庆才
2020-11-10
2.3K0
一文详细揭秘 Redis 持久化,了解一下?
Redis 是一个开源( BSD 许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。它支持的数据类型很丰富,如字符串、链表、集 合、以及散列等,并且还支持多种排序功能。
崔庆才
2018-11-23
4790
分布式爬虫原理之Scrapy分布式实现
接下来,我们会利用Scrapy-Redis来实现分布式的对接。 一、准备工作 请确保已经成功实现了Scrapy新浪微博爬虫,Scrapy-Redis库已经正确安装。 二、搭建Redis服务器 要实现分布式部署,多台主机需要共享爬取队列和去重集合,而这两部分内容都是存于Redis数据库中的,我们需要搭建一个可公网访问的Redis服务器。 推荐使用Linux服务器,可以购买阿里云、腾讯云、Azure等提供的云主机,一般都会配有公网IP,具体的搭建方式可以参考第1章中Redis数据库的安装方式。 Redi
崔庆才
2018-06-25
1.6K0
Python操作Redis,你要的都在这了!
Redis是一个基于内存的高效的键值型非关系型数据库,存取效率极高,而且支持多种存储数据结构,使用也非常简单。本节中,我们就来介绍一下Python的Redis操作,主要介绍RedisPy这个库的用法。 1. 准备工作 在开始之前,请确保已经安装好了Redis及RedisPy库。如果要做数据导入/导出操作的话,还需要安装RedisDump。 2. Redis 和 StrictRedis RedisPy库提供两个类Redis和StrictRedis来实现Redis的命令操作。 StrictRedis实现
崔庆才
2018-06-25
33.8K0
用Flask+Aiohttp+Redis维护动态代理池
在网上有大量公开的免费代理,或者我们也可以购买付费的代理IP,但是代理不论是免费的还是付费的,都不能保证都是可用的,因为可能此IP被其他人使用来爬取同样的目标站点而被封禁,或者代理服务器突然发生故障或网络繁忙。一旦我们选用了一个不可用的代理,这势必会影响爬虫的工作效率。 所以,我们需要提前做筛选,将不可用的代理剔除掉,保留可用代理。接下来我们就搭建一个高效易用的代理池。 一、准备工作 首先需要成功安装Redis数据库并启动服务,另外还需要安装aiohttp、requests、RedisPy、pyquer
崔庆才
2018-06-25
1.6K0
轻松获得海量稳定代理!ADSL拨号代理的搭建
我们尝试维护过一个代理池。代理池可以挑选出许多可用代理,但是常常其稳定性不高、响应速度慢,而且这些代理通常是公共代理,可能不止一人同时使用,其IP被封的概率很大。另外,这些代理可能有效时间比较短,虽然代理池一直在筛选,但如果没有及时更新状态,也有可能获取到不可用的代理。 如果要追求更加稳定的代理,就需要购买专有代理或者自己搭建代理服务器。但是服务器一般都是固定的IP,我们总不能搭建100个代理就用100台服务器吧,这显然是不现实的。 所以,ADSL动态拨号主机就派上用场了。下面我们来了解一下ADSL拨号
崔庆才
2018-06-25
10K2
为什么分布式一定要有redis?
作者:孤独烟 来源:博客园 出处:http://rjzheng.cnblogs.com/ 1. 为什么使用redis 分析:博主觉得在项目中使用redis,主要是从两个角度去考虑:性能和并发。当然,redis还具备可以做分布式锁等其他功能,但是如果只是为了分布式锁这些其他功能,完全还有其他中间件(如zookpeer等)代替,并不是非要使用redis。因此,这个问题主要从性能和并发两个角度去答。 回答:如下所示,分为两点 (一)性能 如下图所示,我们在碰到需要执行耗时特别久,且结果不频繁变动的SQL,就特
崔庆才
2018-06-25
6590
Scrapy-Redis分布式爬虫源码解析
Scrapy-Redis库已经为我们提供了Scrapy分布式的队列、调度器、去重等功能,其GitHub地址为:https://github.com/rmax/scrapy-redis。 本节我们深入了解一下,利用Redis如何实现Scrapy分布式。 1. 获取源码 可以把源码Clone下来,执行如下命令: git clone https://github.com/rmax/scrapy-redis.git 核心源码在scrapy-redis/src/scrapy_redis目录下。 2. 爬取队列 从爬
崔庆才
2018-04-04
1.4K0
Python 3 中 Redis 的用法
Redis存储 在本节我们介绍一下Python的Redis操作,在本节开始之前请确保你已经安装好了Redis及Python Redis库。 Redis和StrictRedis Redis库提供两个类R
崔庆才
2017-07-27
5.5K0
利用 Flask+Redis 维护 IP 代理池
崔庆才
2017-04-25
3.7K0
没有更多了
社区活动
【纪录片】中国数据库前世今生
穿越半个世纪,探寻中国数据库50年的发展历程
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档