关于Membase的求助.

烧饼加肉 发布于 2010/11/12 13:36
阅读 686
收藏 1

安装上membase .去下了个memcached JAVA Client. 但是上面的例子太简单和不明了。

就几个小片段。现在只能简单的存储和取出对象。其它的什么都不知道了。上网找也找不到。

求助那位大哥用过membase 的话。给个实例,或者教程,或者网址都行。

加载中
0
红薯
红薯

简单的存储和取出对象,你还想要什么? 就这个功能!

0
烧饼加肉
烧饼加肉

package com.mjm.net;

import java.net.InetSocketAddress;
import java.util.Map;

import javax.crypto.Mac;
import javax.swing.text.html.HTMLDocument.Iterator;

import net.spy.memcached.CASValue;
import net.spy.memcached.MemcachedClient;

public class Test_Membase{
 public static void main(String[] args) {
  try{
   MemcachedClient mec = new MemcachedClient(new InetSocketAddress("localhost",11211));
   
   person ren = new person();
   ren.setAddr("河南小康");
   ren.setAge("12");
   ren.setName("庆党");
   ren.setSex("男");
   mec.set("name", 1, ren);
   
   for(int i = 0 ; i < 10 ; i ++){
    ren = new person();
    ren.setAddr("河南小康" + i);
    ren.setAge("12" + i);
    ren.setName("庆党" + i);
    ren.setSex("男" + i);
    //System.out.println(i);
    mec.append(mec.gets("name").getCas(),"name", ren);
   }
   Map<String,Object> map = mec.getBulk("name");
   java.util.Iterator<String> iterm = map.keySet().iterator();
   while(iterm.hasNext()){
    System.out.println(iterm.next());
    System.out.println(((person)map.get("name")).getName());
   }
   mec.shutdown();
  }catch(Exception e){
   e.printStackTrace();
  } 
 }

}

得到的是

name
庆党

怎么得到所有对象。是我写错了吗。

0
烧饼加肉
烧饼加肉

回复时好像不能插入代码。

0
烧饼加肉
烧饼加肉

还得有查询,检索呀什么的,都没头绪呀。

0
红薯
红薯

没这个功能 :) membase 只是一个 Key-Value 的存储服务器,必须知道 Key 才能检索出 Value

0
newliver
newliver

请查看membase的文档:http://wiki.membase.org/display/membase/Membase+APIs

文本协议和二进制协议,文本协议需要使用moxi代理~

你也可以使用二进制协议~速度快一些~

我用python包装了二进制协议接口~

以下是官方给出的二进制协议api地址

http://code.google.com/p/memcached/wiki/BinaryProtocolRevamped#Commands

 

ps:google邮件订阅的消息,一个星期才收录。。。

返回顶部
顶部