librelist archives

« back to archive

对于Bamboo中设置custom键值对的功能的思

对于Bamboo中设置custom键值对的功能的思

From:
Tang Daogang
Date:
2011-07-04 @ 08:24
思考一:要不要保留这个接口?

要。有两点原因:

   1. 之前项目有用到过这个接口;
   2. 这个接口能够满足某些不太复杂的应用,同时对底层的db是个很好的封装。

思考二:一个基本完整的接口,应该提供哪些API?

   1. setCustom:创建自定义k-v对;
   2. getCustom:获取完整的k-v对;
   3. delCustom:删除这个k-v对;
   4. updateCustom:在不删除key的情况下,更新一批数据进去
   5. appendCustom:向此k的value中添加一个元素(只支持list, set和zset);
   6. delCustomMember:删除此k的value中的某一个或某一批同名元素(只支持list, set和zset);

并且,custom的存储类型,可以为如下中的任何一种:

   1. string;
   2. list;
   3. set;
   4. zset;

注:上面的存储类型中,并无hash这种结构。目前来看,custom中没必要支持它了,遇到实在需要的情形,用多个key的后缀也可以实现。



-- 
Nothing is impossible.

Re: [bamboo] 对于Bamboo中设置custom键值对的

From:
Tang Daogang
Date:
2011-07-04 @ 08:36
补充说明:

   1. API中貌似还应该加入getCustomNum(),用于返回当前Custom中元素的个数;
   2. 需要更复杂数据操作的情况,不禁止直接使用lua-redis的接口;
   3. 在bamboo层,不应该提供太多接口,除非必要,尽量保持精简,不求满足所有需求,能满足大部分需求即可。

所以,关于完整API,还要不要增加哪些,抑或是该精简哪些,请大家积极讨论。

2011/7/4 Tang Daogang <daogangtang@gmail.com>

> 思考一:要不要保留这个接口?
>
> 要。有两点原因:
>
>    1. 之前项目有用到过这个接口;
>    2. 这个接口能够满足某些不太复杂的应用,同时对底层的db是个很好的封装。
>
> 思考二:一个基本完整的接口,应该提供哪些API?
>
>    1. setCustom:创建自定义k-v对;
>    2. getCustom:获取完整的k-v对;
>    3. delCustom:删除这个k-v对;
>    4. updateCustom:在不删除key的情况下,更新一批数据进去
>    5. appendCustom:向此k的value中添加一个元素(只支持list, set和zset);
>    6. delCustomMember:删除此k的value中的某一个或某一批同名元素(只支持list, set和zset);
>
> 并且,custom的存储类型,可以为如下中的任何一种:
>
>    1. string;
>    2. list;
>    3. set;
>    4. zset;
>
> 注:上面的存储类型中,并无hash这种结构。目前来看,custom中没必要支持它了,遇到实在需要的情形,用多个key的后缀也可以实现。
>
>
>
> --
> Nothing is impossible.
>
>


-- 
Nothing is impossible.