TAE缓存服务采用阿里云开放缓存服务(Open Cache Service,简称OCS),提供基于内存的缓存服务,支持海量小数据的高速访问。OCS可以极大缓解对后端存储的压力,提高网站或应用的响应速度。OCS支持Key-Value的数据结构,兼容Memcached协议的客户端都可与OCS通信。
创建缓存服务对象
from alibaba import Cache cache = Cache () //创建对象时不加参数会连接默认的Cache实例
也可在创建对象时指定Cache实例 如“alias”:
cache = Cache (“alias”)
在TAE控制台中通过:工作站->Cache->管理实例
注:在本地开发时,可以指定任意的alias或者使用无参的均可以;不过为了统一起见,建议和线上环境的alias保持一致。
Cache.set(key, value,[ exp]) 方法
/** * 通过缓存key,关联被缓存的文本内容 * @param key 缓存key,不能为空null * @param value 缓存内容,不能为空null * @param可选参数exp 过期时长,单位为秒。小于等于0的值,表示永不失效 * @return 如果关联的缓存成功的话,返回True,否则返回False */
这个方法没有过期时间设置,默认为永不过期。
Cache.set_multi(mappings,[ exp]) 方法
/** * 通过多组缓存key、value,关联被缓存的文本内容 * @param mappings为要存储的键值字典 如:{"key1":"value1","key2":"value2","key3":"value3"} * 相当于执行多次set。 * @param可选参数exp 过期时长,单位为秒。小于等于0的值,表示永不失效 * @return 如果关联的缓存成功的话,返回True,否则返回False */
Cache.get(key)方法
/** * 通过key,获取其关联缓存的内容 * @param key 缓存key,不能为空null * @return 如果没有关联缓存,或缓存的内容已过期的话,返回为null */
Cache.get_multi(keys)方法
/** *@param keys 一组缓存key,如["key1","key2","key3"] *@return缓存中keys对应的键值字典 如:{"key1":"value1","key2":"value2","key3":"value3"} *如果缓存中没有对应键值则不返回 */
Cache.delete(keys)方法
/** *@param key 要删除的Key *@return 如果删除成功的话,返回True,否则返回False */
Cache. decrement(key, [step])方法
/** * 通过缓存key,使对应value自减,value必须是int * @param key 缓存key,不能为空null * @param step为步长,默认为1 * @return 返回自减后的value */
Cache. increment(key, [step], [exp])方法
/**
*通过缓存key,使对应value自增,value必须是int * @param key 缓存key,不能为空null * @param step为步长,默认为1 * @return 返回自增后的value */
缓存服务使用示例
from alibaba import Cache cache = Cache () key = "test_key" value = "test_value" cache.set(key,value) cacahe_value = cache.get(key) cache.delete(key) cache.set(key,value,10)