rc,redis缓存
rc的Python项目详细描述
rc-redis缓存。
- 易于使用
- 可以构建缓存群集
- 批量获取多个缓存结果(对群集并行执行)
有关完整文档,请参见rc.readthedocs.org。
安装
$ pip install rc
快速启动
最小缓存示例如下:
fromrcimportCachecache=Cache()assertcache.set('key','value')assertcache.get('key')=='value'assertcache.get('foo')isNoneassertcache.set('list',[1])assertcache.get('list')==[1]
缓存群集使用redis群集作为后端:
fromrcimportCacheClustercache=CacheCluster({'cache01':{'host':'redis-host01'},'cache02':{'host':'redis-host02'},'cache03':{'host':'redis-host03'},'cache04':{'host':'redis-host04','db':1},})
缓存装饰器:
@cache.cache()defload(name,offset):returnload_from_database(name,offset)rv=load('name',offset=10)
批量获取多个缓存结果:
assertcache.get_many('key','foo')==['value',None]# for cache decorated function@cache.cache()defcached_func(param):returnparamresults=[]# with the context manager, the function# is executed and return a promisewithcache.batch_mode():foriinrange(10):results.append(cached_func(i))fori,rvinenumerate(results):assertrv.value==i
缓存失效:
cache.delete('key')# for decorated functioncache.invalidate(load,'name',offset=10)
更好
如果你觉得有什么不对劲,欢迎反馈或提出请求。