Storing a custom Python object in Redis -


i'm trying store custom, serializable python object in redis, have encountered strange behavior. set method seems function, get method returns value of object's __repr__ method. instance...

import redis  # initialize redis connection pool rs = redis.redis(host='localhost', port=6379)  # define custom class class somecustomobject(object):     pass 

when try set somecustomobject value, appears work:

>>> rs.set('c', somecustomobject()) true 

however, when get value back, it's __repr__ string:

>>> rs.get('c') '<__main__.somecustomobject object @ 0x102496710>' 

how store/get instance back? i've not had luck finding info on in the documentation, surely i'm not first 1 encounter this?

use pickle

using pickle module can serialize , deserialize python objects , pass them redis.

from answer - https://stackoverflow.com/a/20400288/4403600, this:

import pickle import redis  # define custom class class somecustomobject(object):     pass  # initialize redis connection pool rs = redis.redis(host='localhost', port=6379)  # pickle , set in redis rs.set('c', pickle.dumps(somecustomobject()))  # redis , unpickle unpacked_object = pickle.loads(rs.get('c')) 

further reading - https://docs.python.org/2/library/pickle.html


Comments

Popular posts from this blog

Command prompt result in label. Python 2.7 -

javascript - How do I use URL parameters to change link href on page? -

amazon web services - AWS Route53 Trying To Get Site To Resolve To www -