2017-12-08 2 views
0

Ich verwende redis in einer Anwendung für das Zwischenspeichern von Daten und jetzt möchte ich gespeicherte Daten mit einer django Anwendung auf dem gleichen Server zugreifen und ändern, aber ich kann nicht auf die Daten zugreifen.Share-Redis-Speicher zwischen mehreren Anwendungen

Django Verbindung:

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

Verwendung keys * Befehl im Terminal:

$ 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 

Zugriff auf Schlüssel in django Anwendung:

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

I nicht erste Schlüssel zugreifen kann, wird in der Knotenanwendung festgelegt und auch Django gespeicherte Schlüssel werden standardmäßig mit :1: versehen!

Ich möchte alle Schlüssel zwischen Knoten und Django teilen, aber sie greifen nur auf ihre eigenen Schlüssel.

Irgendeine Idee?

Antwort

0

Sie können auf alle Daten von wo auch immer zugreifen, aber Sie arbeiten mit Redis im Cache-Modell! und alle Cache-Systeme haben eine eigene eindeutige Datenstruktur. Sie müssen mit Redis im Datenbankmodell arbeiten und sie selbst scannen. Verwenden Sie Python Redis Paket, um auf alle Redis in Ihrer Anwendung zuzugreifen.

Verwandte Themen