【问题标题】:How to connect to redis in Django?如何在 Django 中连接到 redis?
【发布时间】:2016-09-09 09:50:33
【问题描述】:
CACHES = {
    "default": {
        "BACKEND": "django_redis.cache.RedisCache",
        "LOCATION": "redis://127.0.0.1:6379/1",
        "OPTIONS": {
            "CLIENT_CLASS": "django_redis.client.DefaultClient",
        }
    }
}

我正在尝试连接到 redis 以将我的对象保存在其中,但是当我尝试连接时它给了我这个错误

连接到 127.0.0.1:6379 时出现错误 10061。无法建立连接 因为目标机器主动拒绝了它

它是如何工作的,我应该在位置上提供什么,并且我是我公司的代理。需要一些详细的位置说明。

【问题讨论】:

  • 您是否在该地址的本地计算机上运行 redis?你是怎么开始的?
  • 是的,我在本地机器上。
  • 这不是我问的。 redis 是否在那台本地机器上运行?
  • 不。它不是。我如何运行它。 ?或者我可以直接连接到redis服务器吗?

标签: python django redis


【解决方案1】:

如果你的 redis 受密码保护,你应该有这样的配置:

CACHES.update({
    "redis": {
        "BACKEND": "redis_cache.cache.RedisCache",
        "LOCATION": "redis://127.0.0.1:6379/1",
        "OPTIONS": {
             "PASSWORD": "XXXXXXXXXXX",
             "CLIENT_CLASS": "redis_cache.client.DefaultClient",
        },
    },
})

【讨论】:

    【解决方案2】:

    首先启动redis服务器。您的操作系统将提供一种机制来做到这一点,例如在某些 Linux 上,您可以使用 systemctl start redis/etc/init.d/redis start 或类似名称。或者您可以直接使用:

    $ redis-server
    

    它将作为前台进程运行。

    然后尝试运行redis-cli ping 命令。收到 PONG 响应表明 redis 实际上已在您的本地计算机上启动并运行:

    $ redis-cli ping
    PONG
    

    一旦你有这个工作再次尝试 Django。

    【讨论】:

    • 我下载了 redis 服务器,但现在显示“客户端发送了 AUTH,但未设置密码”。我打开了 redis-cli.exe,但我找不到为服务器设置密码的命令。在这方面需要帮助
    • @Yogi:你好像没有在django-redis中配置密码,但是,你试过读Redis的documentation吗?您可以使用requirepass 配置设置为服务器设置密码。确保它们匹配。
    • 还要检查 niwinz.github.io/django-redis/latest/… 。在位置 URL 中配置了密码。
    猜你喜欢
    • 1970-01-01
    • 2015-02-06
    • 2019-01-08
    • 1970-01-01
    • 2013-06-09
    • 1970-01-01
    • 2021-12-14
    • 2018-08-06
    • 2015-02-09
    相关资源
    最近更新 更多