发布时间:2026-07-21阅读(1)
Scrapy 框架本身没有分布式功能,但是配合 Redis 服务后就能实现分布式,于是就诞生了 Scrapy-Redis 这样的框架。它在 Scrapy 的基础上配合 Redis 进行了一些改造,实现了分布式的功能。本节会介绍 Redis 服务的相关操作,为后续使用和学习 Scrapy-Redis 打好基础。
1. Redis 介绍与安装首先我们在 CentOS7.8 的系统上源码编译安装 redis-5.0 的最新版。按照下列步骤进行:
安装 gcc 等编译工具,下载 redis 5 的最新源码并解压:
[root@server2 shen]# wget http://download.redis.io/releases/redis-5.0.9.tar.gz--2020-06-27 13:10:23-- http://download.redis.io/releases/redis-5.0.9.tar.gzResolving download.redis.io (download.redis.io)... 109.74.203.151Connecting to download.redis.io (download.redis.io)|109.74.203.151|:80... connected.HTTP request sent, awaiting response... 200 OKLength: 1986574 (1.9M) [application/x-gzip]Saving to: ‘redis-5.0.9.tar.gz’100%[=========================================================================================================================================>] 1,986,574 12.9KB/s in 2m 11s 2020-06-27 13:12:35 (14.8 KB/s) - ‘redis-5.0.9.tar.gz’ saved [1986574/1986574][root@server2 shen]# tar xzf redis-5.0.9.tar.gz代码块123456789101112
进入 redis 源码目录,直接安装:
[root@server2 shen]# cd redis-5.0.9[root@server2 redis-5.0.9]# make MALLOC=libc PREFIX=/usr/local/redis install
添加 redis 命令路径:
[root@server2 redis-5.0.9]# cat /etc/profile...# 添加下面两行内容REDIS_HOME=/usr/local/redisexport PATH=$REDIS_HOME/bin:$PATH[root@server2 redis-5.0.9]# source /etc/profile[root@server2 redis-5.0.9]# which redis-cli/usr/local/redis/bin/redis-cli
添加并修改 redis.conf 配置文件:
[root@server2 redis-5.0.9]# mkdir /etc/redis[root@server2 redis-5.0.9]# cp redis.conf /etc/redis[root@server2 redis-5.0.9]# cat /etc/redis# ...# 修改第一处,改为后台守护进程方式启动daemonize yes# ...# 修改端口,比如改为6777port 6777# ...# 需要密码# requirepass foobaredrequirepass spyinx# ...# 允许通过公网访问该redis# bind 127.0.0.1bind 0.0.0.0
加入 systemd 服务,统一管理:
[root@server2 redis-5.0.9]# cat /etc/systemd/system/redis.service[Unit]Description=RedisAfter=network.target [Service]Type=forkingExecStart=/usr/local/redis/bin/redis-server /etc/redis/redis.confExecReload=/bin/kill -s HUP $MAINPIDExecStop=/usr/local/redis/bin/redis-cli -p 6777 shutdownPrivateTmp=true [Install]WantedBy=multi-user.target[root@server2 redis-5.0.9]# systemctl start redis[root@server2 redis-5.0.9]# systemctl status redis● redis.service - Redis Loaded: loaded (/etc/systemd/system/redis.service; disabled; vendor preset: disabled) Active: active (running) since Sat 2020-06-27 14:08:44 CST; 3s ago Process: 7080 ExecStart=/usr/local/redis/bin/redis-server /etc/redis/redis.conf (code=exited, status=0/SUCCESS) Main PID: 7081 (redis-server) CGroup: /system.slice/redis.service └─7081 /usr/local/redis/bin/redis-server 0.0.0.0:6777Jun 27 14:08:44 server2 systemd[1]: Starting Redis...Jun 27 14:08:44 server2 redis-server[7080]: 7080:C 27 Jun 2020 14:08:44.938 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0OoJun 27 14:08:44 server2 redis-server[7080]: 7080:C 27 Jun 2020 14:08:44.938 # Redis version=5.0.9, bits=64, commit=00000000, ...startedJun 27 14:08:44 server2 redis-server[7080]: 7080:C 27 Jun 2020 14:08:44.938 # Configuration loadedJun 27 14:08:44 server2 systemd[1]: Started Redis.Hint: Some lines were ellipsized, use -l to show in full.# 设置开机启动[root@server2 redis-5.0.9]# systemctl enable redisCreated symlink from /etc/systemd/system/multi-user.target.wants/redis.service to /etc/systemd/system/redis.service.代码块1234567891011121314151617181920212223242526272829303132333435
最后测试下 redis 服务是否能正常工作:
[root@server2 redis-5.0.9]# redis-cli -p 6777127.0.0.1:6777> auth spyinxOK127.0.0.1:6777> ping "hello, world""hello, world"127.0.0.1:6777> set hello worldOK127.0.0.1:6777> get hello"world"127.0.0.1:6777> 代码块12345678910
完成 redis 服务搭建后我们就可以开始 redis 服务的使用了。
2. Redis 的基本操作我们会分成5个部分来介绍 redis 的基本数据类型,并进行实战演练。限于篇幅,这部分内容不会比较详细,许多重要的细节和知识点会被忽略。请重点参考 <<Redis使用手册>> 一书去深入学习和掌握 redis 的使用。
2.1 字符串字符串是 Redis 最基本的键值对类型。它在数据库中将一个单独的键和单独的一个值关联起来。和 Python 字典类型中的 key-value 类似。常用的字符串操作命令有:
Copyright © 2024 有趣生活 All Rights Reserve吉ICP备19000289号-5 TXT地图HTML地图XML地图