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

'hasOwnProperty' in javascript -

python - ValueError: No axis named 1 for object type <class 'pandas.core.series.Series'> -

java - How to provide dependency injections in Eclipse RCP 3.x? -