- 啥话都不说了、进入正题。 首先我们更新一下 scrapy 版本。最新版为 1.3 再说一遍 Windows 的小伙伴儿 pip 是装不上 Scrapy 的。推荐使用 anaconda 、不然还是老老实实用 Linux 吧 123 conda install scrapy==1.3或者pip install scrapy==1.3 安装 Scrapy-R... 啥话都不说了、进入正题。 首先我们更新一下 scrapy 版本。最新版为 1.3 再说一遍 Windows 的小伙伴儿 pip 是装不上 Scrapy 的。推荐使用 anaconda 、不然还是老老实实用 Linux 吧 123 conda install scrapy==1.3或者pip install scrapy==1.3 安装 Scrapy-R...
- 对于 Redis 来说,我们要使用 redis-py 库来与其交互,这里就来介绍一下它的安装方法。 1. 相关链接 GitHub:https://github.com/andymccurdy/redis-py 官方文档:https://redis-py.readthedocs.io/ 2. pip 安装 这里推荐使用 pip 安装,命令如下: 1 pip3... 对于 Redis 来说,我们要使用 redis-py 库来与其交互,这里就来介绍一下它的安装方法。 1. 相关链接 GitHub:https://github.com/andymccurdy/redis-py 官方文档:https://redis-py.readthedocs.io/ 2. pip 安装 这里推荐使用 pip 安装,命令如下: 1 pip3...
- Redis 是一个基于内存的高效的键值型非关系型数据库,存取效率极高,而且支持多种存储数据结构,使用也非常简单。本节中,我们就来介绍一下 Python 的 Redis 操作,主要介绍 RedisPy 这个库的用法。 1. 准备工作 在开始之前,请确保已经安装好了 Redis 及 RedisPy 库。如果要做数据导入 / 导出操作的话,还需要安装 RedisDump。如果没有... Redis 是一个基于内存的高效的键值型非关系型数据库,存取效率极高,而且支持多种存储数据结构,使用也非常简单。本节中,我们就来介绍一下 Python 的 Redis 操作,主要介绍 RedisPy 这个库的用法。 1. 准备工作 在开始之前,请确保已经安装好了 Redis 及 RedisPy 库。如果要做数据导入 / 导出操作的话,还需要安装 RedisDump。如果没有...
- 一、字符串 以实际输入的命令为例 1. 建立键值对 1 set bar 1 建立了一个键值对,键名叫 bar,键值是 1 2. 判断键是否存在 1 exists bar 判断键名 bar 是否存在 若存在则返回 1, 不存在返回 0 3. 删除键 1 del bar 删除键名为 bar 的键值对 若删除成功则返回删... 一、字符串 以实际输入的命令为例 1. 建立键值对 1 set bar 1 建立了一个键值对,键名叫 bar,键值是 1 2. 判断键是否存在 1 exists bar 判断键名 bar 是否存在 若存在则返回 1, 不存在返回 0 3. 删除键 1 del bar 删除键名为 bar 的键值对 若删除成功则返回删...
- Scrapy-Redis 详解 通常我们在一个站站点进行采集的时候,如果是小站的话 我们使用 scrapy 本身就可以满足。 但是如果在面对一些比较大型的站点的时候,单个 scrapy 就显得力不从心了。 要是我们能够多个 Scrapy 一起采集该多好啊 人多力量大。 很遗憾 Scrapy 官方并不支持多个同时采集一个站点,虽然官方给出一个方法: 将一个站点的分割成几部分... Scrapy-Redis 详解 通常我们在一个站站点进行采集的时候,如果是小站的话 我们使用 scrapy 本身就可以满足。 但是如果在面对一些比较大型的站点的时候,单个 scrapy 就显得力不从心了。 要是我们能够多个 Scrapy 一起采集该多好啊 人多力量大。 很遗憾 Scrapy 官方并不支持多个同时采集一个站点,虽然官方给出一个方法: 将一个站点的分割成几部分...
- Scrapy-Redis 是 Scrapy 的分布式扩展模块,有了它,我们就可以方便地实现 Scrapy 分布式爬虫的搭建。本节中,我们将介绍 Scrapy-Redis 的安装方式。 相关链接 GitHub:https://github.com/rmax/scrapy-redis PyPI:https://pypi.python.org/pypi/scrapy-redis... Scrapy-Redis 是 Scrapy 的分布式扩展模块,有了它,我们就可以方便地实现 Scrapy 分布式爬虫的搭建。本节中,我们将介绍 Scrapy-Redis 的安装方式。 相关链接 GitHub:https://github.com/rmax/scrapy-redis PyPI:https://pypi.python.org/pypi/scrapy-redis...
- 概念 Redis 官方站这篇文章提出了一种权威的基于 Redis 实现分布式锁的方式名叫 Redlock,此种方式比原先的单节点的方法更安全。它可以保证以下特性: 安全特性:互斥访问,即永远只有一个 client 能拿到锁避免死锁:最终 client 都可能拿到锁,不会出现死锁的情况,即使原本锁住某资源的 client crash 了或者出现了网络分区容错性:只... 概念 Redis 官方站这篇文章提出了一种权威的基于 Redis 实现分布式锁的方式名叫 Redlock,此种方式比原先的单节点的方法更安全。它可以保证以下特性: 安全特性:互斥访问,即永远只有一个 client 能拿到锁避免死锁:最终 client 都可能拿到锁,不会出现死锁的情况,即使原本锁住某资源的 client crash 了或者出现了网络分区容错性:只...
- 众所周知,Redis是一个单线程架构的NoSQL数据库,但是是单线程模型的Redis为什么性能如此之高?这就是我们接下来要探究学习的内容。 1、Redis的单线程架构 1.1、Redis单线程简介 首先要明白,Redis的单线程指的是执行命令时的单线程。 Redis客户端与服务端的模型可以简化成下图,每次客户端调用都经历了发送命令、执行命令、返回结果三个过程。 ... 众所周知,Redis是一个单线程架构的NoSQL数据库,但是是单线程模型的Redis为什么性能如此之高?这就是我们接下来要探究学习的内容。 1、Redis的单线程架构 1.1、Redis单线程简介 首先要明白,Redis的单线程指的是执行命令时的单线程。 Redis客户端与服务端的模型可以简化成下图,每次客户端调用都经历了发送命令、执行命令、返回结果三个过程。 ...
- 数据结构(字典、链表、字符串) 数据结构(整数集合,压缩列表) 数据结构(跳表介绍和手撕) LRU介绍和实现 对象(字符串对象、列表对象、哈希对象、集合对象、有序集合总结) 数据库简介 数据持久化 持续更新。。。 数据结构(字典、链表、字符串) 数据结构(整数集合,压缩列表) 数据结构(跳表介绍和手撕) LRU介绍和实现 对象(字符串对象、列表对象、哈希对象、集合对象、有序集合总结) 数据库简介 数据持久化 持续更新。。。
- 入门 Redis是一款基于键值对的NoSQL数据库,它的值支持多种数据结构: 字符串(strings)、哈希(hashes)、列表(lists)、集合(sets)、有序集合(sorted sets)等。 • Redis将所有的数据都存放在内存中,所以它的读写性能十分惊人,用作数据库,缓存和消息代理。 Redis具有内置的复制,Lua脚本,LRU逐出,事务和不同级别的磁盘持... 入门 Redis是一款基于键值对的NoSQL数据库,它的值支持多种数据结构: 字符串(strings)、哈希(hashes)、列表(lists)、集合(sets)、有序集合(sorted sets)等。 • Redis将所有的数据都存放在内存中,所以它的读写性能十分惊人,用作数据库,缓存和消息代理。 Redis具有内置的复制,Lua脚本,LRU逐出,事务和不同级别的磁盘持...
- 什么是会话? 会话可简单理解为:用户开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话。 •会话过程中要解决的一些问题? –每个用户不可避免各自会产生一些数据,程序要想办法为每个用户保存这些数据。 –例如:用户点击超链接通过一个servlet购买了一个商品,程序应该想办法保存用户购买的商品,以便于用户... 什么是会话? 会话可简单理解为:用户开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话。 •会话过程中要解决的一些问题? –每个用户不可避免各自会产生一些数据,程序要想办法为每个用户保存这些数据。 –例如:用户点击超链接通过一个servlet购买了一个商品,程序应该想办法保存用户购买的商品,以便于用户...
- 缓存穿透 一般的缓存系统,都是按照key去缓存查询,如果不存在对应的value,就去后端系统查找(比如DB)。 一些恶意的请求会故意查询不存在的key,请求量很大,就会对后端系统造成很大的压力。这就叫做缓存穿透。 如何避免? 1:对查询结果为空的情况也进行缓存,这样,再次访问时,缓存层会直接返回空值。缓存时间设置短一点,或者该key对应的数据ins... 缓存穿透 一般的缓存系统,都是按照key去缓存查询,如果不存在对应的value,就去后端系统查找(比如DB)。 一些恶意的请求会故意查询不存在的key,请求量很大,就会对后端系统造成很大的压力。这就叫做缓存穿透。 如何避免? 1:对查询结果为空的情况也进行缓存,这样,再次访问时,缓存层会直接返回空值。缓存时间设置短一点,或者该key对应的数据ins...
- 这是我们之前项目的业务流程,做一下简单介绍。 登录: 用户输入账号、密码、验证码。我们先判断用户输入的验证码是不是我们session存的验证码,然后去查账号密码是否正确。 如果登录成功,发送给用户一张凭证(ticket)。 登录后 之后的每次请求,用户携带ticket,服务器得到后,根据ticket去login_ticket表中查找登录信息,并且根据登录信息... 这是我们之前项目的业务流程,做一下简单介绍。 登录: 用户输入账号、密码、验证码。我们先判断用户输入的验证码是不是我们session存的验证码,然后去查账号密码是否正确。 如果登录成功,发送给用户一张凭证(ticket)。 登录后 之后的每次请求,用户携带ticket,服务器得到后,根据ticket去login_ticket表中查找登录信息,并且根据登录信息...
- 问题 SpringBoot项目连接Redis报错: Caused by: redis.clients.jedis.exceptions.JedisDataException: ERR Client sent AUTH, but no password is set at redis.clients.jedis.Protocol.processError(Proto... 问题 SpringBoot项目连接Redis报错: Caused by: redis.clients.jedis.exceptions.JedisDataException: ERR Client sent AUTH, but no password is set at redis.clients.jedis.Protocol.processError(Proto...
- 导语 一文带你完全吃透 Redis 整个核心网络模型的原理和源码。 目录 导言 Redis 有多快? Redis 为什么快? Redis 为何选择单线程? 避免过多的上下文切换开销 避免同步机制的开销 简单可维护 Redis 真的是单线程? 单线程事件循环 多线程异步任务 Redis 多线程网络模型 设计思路 源码剖析 性能提升... 导语 一文带你完全吃透 Redis 整个核心网络模型的原理和源码。 目录 导言 Redis 有多快? Redis 为什么快? Redis 为何选择单线程? 避免过多的上下文切换开销 避免同步机制的开销 简单可维护 Redis 真的是单线程? 单线程事件循环 多线程异步任务 Redis 多线程网络模型 设计思路 源码剖析 性能提升...
上滑加载中
推荐直播
-
HDC深度解读系列 - Serverless与MCP融合创新,构建AI应用全新智能中枢
2025/08/20 周三 16:30-18:00
张昆鹏 HCDG北京核心组代表
HDC2025期间,华为云展示了Serverless与MCP融合创新的解决方案,本期访谈直播,由华为云开发者专家(HCDE)兼华为云开发者社区组织HCDG北京核心组代表张鹏先生主持,华为云PaaS服务产品部 Serverless总监Ewen为大家深度解读华为云Serverless与MCP如何融合构建AI应用全新智能中枢
回顾中 -
关于RISC-V生态发展的思考
2025/09/02 周二 17:00-18:00
中国科学院计算技术研究所副所长包云岗教授
中科院包云岗老师将在本次直播中,探讨处理器生态的关键要素及其联系,分享过去几年推动RISC-V生态建设实践过程中的经验与教训。
回顾中 -
一键搞定华为云万级资源,3步轻松管理企业成本
2025/09/09 周二 15:00-16:00
阿言 华为云交易产品经理
本直播重点介绍如何一键续费万级资源,3步轻松管理成本,帮助提升日常管理效率!
回顾中
热门标签