Python总的对象存储到redis中默认为字符串,那么如何存储对象呢?
下面就看看如何直接将Python中对象存储到redis中
先写个测试redis是否正常连接上
import redis
cache = redis.StrictRedis('172.20.0.227',6379)
存储字符串
key = "javaman_test"
value = "test_string_yy"
cachevalue = cache.get(key)
存储Dict对象,取出来为字符串
value = {"id":1,"name":"sunxy"}
cache.set(key,value,60)
cachevalue = cache.get(key)
print type(value),type(cachevalue)
这时使用eval()对获取的结果转换成dict
cachevalue = cache.get(key)
trans_value = eval(cachevalue)
print type(trans_value),trans_value.get("name")
如果不是一个dict,直接是一个对象呢?
之前用了django中的对象,来看一下
取出来仍然是字符串,如何把对象存进去呢
eval()只是将结果转换成字典,这个肯定不行,我们应该需要将对象存到redis中。
使用pickle模块,在存入到redis中时调用dumps函数,获取后调用loads函数
import pickleredis.set(key,pickle.dumps(xt_industry),180)
pickle.loads(result)
举报/反馈

百度经验

0获赞 380.5万粉丝
解决你所有的生活难题
百度在线网络技术(北京)有限公司
关注
0
收藏
分享