首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我可以使用Windows子系统安装在Linux上的Redis和Windows中的python应用程序吗?

我可以使用Windows子系统安装在Linux上的Redis和Windows中的python应用程序吗?
EN

Stack Overflow用户
提问于 2019-05-18 16:05:04
回答 1查看 11.3K关注 0票数 11

我想在Windows上开发一个python应用程序,它将使用Redis作为芹菜的代理。假设我的应用程序可以与我在Linux的Windows子系统上安装的Redis实例进行交互是正确的吗?

我已经在Windows 10上为Linux启用了Windows子系统,并在其上安装了Ubuntu和Redis,并启动了服务器。在Windows方面,我使用VSCode编写python代码。如下所示,在python代码中,我试图连接localhost上的Redis :6379

代码语言:javascript
复制
from celery import Celery

BROKER_URL = 'redis://localhost:6379/0'

app = Celery('tasks', broker=BROKER_URL)

我试图确认用Windows编写的Python代码是否可以与运行在Ubuntu上的Redis服务器进行交互。这是可能的吗?如果是的话,我如何确认连接?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-18 16:28:24

是的,您可以从窗口使用来自wsl的redis。首先,确保安装并启动了redis服务:

代码语言:javascript
复制
sudo apt-get install redis-server
sudo systemctl enable redis-server.service

如果您已经在windows上运行了redis服务器,则需要编辑/etc/redis/redis.conf中的端口指令(例如,到7379,就像我对下面的命令所做的那样)。

然后启动服务

代码语言:javascript
复制
sudo service redis-server start

然后运行redis-cli并发出monitor命令(如果使用默认端口,可以跳过-p 7379 ):

代码语言:javascript
复制
bp@bjorn8:~$ redis-cli -p 7379
127.0.0.1:6379> monitor
OK

现在,从windows命令提示符中,从pypi (https://pypi.org/project/redis/)安装redis模块:

代码语言:javascript
复制
pip install redis

然后启动python并发出一个测试命令(同样,如果使用默认端口,请使用6379 ):

代码语言:javascript
复制
>>> import redis
>>> cn = redis.Redis('localhost', 7379, 0)
>>> cn.keys("*")
[]

在您的wsl会话中,您现在应该看到如下内容:

代码语言:javascript
复制
1558196107.718695 "KEYS" "*"

注意: redis对服务器的位置并不模糊。如果您在windows上安装了cli工具,您可以从dos向运行在wsl上的服务器发出命令:

代码语言:javascript
复制
c:\srv> redis-cli -p 7379
redis 127.0.0.1:7379> keys "*"
(empty list or set)
redis 127.0.0.1:7379>

反之亦然( wsl上的redis -cli将很高兴地连接到运行在windows上的redis服务-这就是我发现需要指定不同端口的方式;-)

票数 29
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56200672

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档