2

redisnode应用程序中使用缓存数据,现在我想使用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']

我无法访问在节点应用程序中设置的第一个密钥,并且:1:默认情况下 django 存储的密钥也带有前缀!

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

任何想法?

4

1 回答 1

0

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

于 2017-12-09T06:41:53.863 回答