【问题标题】:Share redis storage between multiple apps在多个应用程序之间共享 redis 存储
【发布时间】:2018-05-22 11:27:43
【问题描述】:

我在node 应用程序中使用redis 缓存数据,现在我想使用同一服务器上的django 应用程序访问和修改存储的数据,但我无法访问数据。

Django 连接:

CACHES = {
  "default": {
    "BACKEND": "django_redis.cache.RedisCache",
    "LOCATION": "redis://127.0.0.1:6379/0",
    "OPTIONS": {
        "CLIENT_CLASS": "django_redis.client.DefaultClient",
    }
  }
}

在终端中使用keys * 命令:

$ redis-cli
127.0.0.1:6379> keys *
1) "sess:Ok0eYOko5WaV7njfX04qgqG1oYe0xiL1"   -> this key is set in node
2) ":1:from-django"   -> this key is set in django

在 django 应用程序中访问键:

keys = cache.keys('*')
print(keys)  # prints only one key => ['from-django']

我无法访问节点应用程序中设置的第一个密钥,并且 django 存储的密钥默认以:1: 为前缀!

我想在 node 和 django 之间共享所有密钥,但他们只能访问自己的密钥。

有什么想法吗?

【问题讨论】:

    标签: redis node-redis django-redis


    【解决方案1】:

    您可以从任何地方访问所有数据,但是您正在使用缓存模型中的 Redis!并且所有缓存系统都有自己独特的数据结构,您必须在数据库模型中使用 Redis 并自行扫描。 使用 Python Redis 包访问应用程序中的所有 Redis。

    【讨论】:

      猜你喜欢
      • 2013-04-17
      • 1970-01-01
      • 1970-01-01
      • 2011-12-15
      • 2018-01-01
      • 2014-06-04
      • 1970-01-01
      • 2013-06-24
      • 2021-02-25
      相关资源
      最近更新 更多