在多个应用之间共享redis存储

时间:2017-12-08 08:46:14

标签: redis node-redis django-redis

我在redis应用程序中使用node来缓存数据,现在我想在同一台服务器上使用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之间共享所有密钥,但他们只能访问自己的密钥。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

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