.. include:: ../services/kvdb.rst API使用手册 ============== .. module:: sae.kvdb .. py:class:: Error :module: sae.kvdb 通用错误 .. py:class:: Client(debug=0) :module: sae.kvdb debug 是否输出详细调试、错误信息到日志,默认关闭 .. py:method:: set(key, val, min_compress_len=0) 设置key的值为val :param min_compress_len: 启用zlib.compress压缩val的最小长度,如果val的长度大于此值,则启用压缩,0表示不压缩。 .. py:method:: add(key, val, min_compress_len=0) 同set,但只在key不存在时起作用 .. py:method:: replace(key, val, min_compress_len=0) 同set,但只在key存在时起作用 .. py:method:: delete(key) 删除key。 .. py:method:: get(key) 从KVDB中获取一个key的值,存在返回key的值,不存在则返回None .. py:method:: get_multi(keys, key_prefix='') 从KVDB中一次获取多个key的值。返回一个key/value的dict。 :param keys: key的列表,类型必须为list。 :param key_prefix: 所有key的前缀。请求时会在所有的key前面加上该前缀,返回值里所有的key都会去掉该前缀。 .. py:method:: get_by_prefix(prefix, limit=100, marker=None) 从KVDB中查找指定前缀的 key/value pair。返回一个generator,yield的item为一个(key, value)的tuple。 :param prefix: 需要查找的key的前缀。 :param limit: 最多返回的item个数,默认为100。 :param marker: 指定从哪一个key开始继续查找,只返回该key后面的结果(该key不含在内)。 .. py:method:: getkeys_by_prefix(prefix, limit=100, marker=None) 从KVDB中查找指定前缀的key。返回符合条件的key的generator。 :param prefix: 需要查找的key的前缀。 :param limit: 最多返回的key的个数,默认为100。 :param marker: 指定从哪一个key开始继续查找,只返回该key后面的结果(该key不含在内)。 .. py:method:: disconnect_all() 关闭KVDB连接 使用示例 =============== :: import sae.kvdb kv = sae.kvdb.Client() k = 'foo' kv.set(k, 2) kv.delete(k) kv.add(k, 3) kv.get(k) kv.replace(k, 4) kv.get(k)