缓存做得不多, 之前是看的资料上说提高性能必须得做缓存.
但在项目里用了缓存之后发现性能没有多大的提升, 有时候甚至比不用缓存还要差些?
是我的使用方法有问题吗还是??
比如我缓存一个对象(字典):
这样做的:
# 存
conn = redis.Redis(**kwargs)
redis_data = cPickle.dumps(data)
conn.set(key, redis_data)
# 取
redis_data = conn.get(key)
data = cPickle.loads(redis_data)
这样的存取增加了一个中间的编码解码的过程, 感觉这一过程是可以替换的吧, 但是用什么替换呢?
redis存储对象的时候必须要编码吗?有些对象是不能直接存的. 取出来的值都是字符串, 必须解码才行?
怎么才是正确的使用方法呢??
但在项目里用了缓存之后发现性能没有多大的提升, 有时候甚至比不用缓存还要差些?
是我的使用方法有问题吗还是??
比如我缓存一个对象(字典):
这样做的:
# 存
conn = redis.Redis(**kwargs)
redis_data = cPickle.dumps(data)
conn.set(key, redis_data)
# 取
redis_data = conn.get(key)
data = cPickle.loads(redis_data)
这样的存取增加了一个中间的编码解码的过程, 感觉这一过程是可以替换的吧, 但是用什么替换呢?
redis存储对象的时候必须要编码吗?有些对象是不能直接存的. 取出来的值都是字符串, 必须解码才行?
怎么才是正确的使用方法呢??