Ich versuche, ein benutzerdefiniertes, serialisierbares Python-Objekt in Redis zu speichern, habe aber seltsames Verhalten festgestellt. Die Methode set
scheint zu funktionieren, aber die Methode get
gibt nur den Wert der Methode __repr__
des Objekts zurück. Zum Beispiel ...Speichern eines benutzerdefinierten Python-Objekts in Redis
import redis
# initialize the redis connection pool
rs = redis.Redis(host='localhost', port=6379)
# define a custom class
class SomeCustomObject(object):
pass
Wenn ich versuche, die SomeCustomObject
als ein Wert zu setzen, scheint es zu funktionieren:
>>> rs.set('c', SomeCustomObject())
True
Allerdings, wenn ich den Wert zurück get
, es ist nur der __repr__
string:
>>> rs.get('c')
'<__main__.SomeCustomObject object at 0x102496710>'
Wie kann ich die Instanz speichern/abrufen? Ich hatte nicht viel Glück, irgendwelche Informationen dazu in the documentation zu finden, aber sicher bin ich nicht der erste, der darauf stößt?
Wo Serialisierung Sie das Objekt? –