beansdb的java客户端 beansdb4j

fmms 8年前
     <p>这是beansdb的java客户端, 它使用了和python客户端一模一样的hash算法, 所以它和python客户端是完全兼容 — 这意味着你可以用python客户端存一个东西进beansdb, 然后用java客户端把它取出来。</p>    <p>示例代码:</p>    <pre class="brush:java; toolbar: true; auto-links: false;"> // specify the beansdb nodes.   Map<InetSocketAddress, Range> servers = new HashMap<InetSocketAddress, Range>();   servers.put(new InetSocketAddress("localhost", 7900), new Range(, 16));   servers.put(new InetSocketAddress("localhost", 7901), new Range(, 16));   servers.put(new InetSocketAddress("localhost", 7902), new Range(, 16));       // 3,2,2 is the NRW number in the Dynamo thesis   Beansdb db = new Beansdb(servers, 16, 3, 2, 2);       // set the key: foo to value: bar   db.set("foo", "bar");       // get the value of foo   System.out.println(db.get("foo"));       // get the value for keys: hello, james, foo   List<String> keys = new ArrayList<String>(3);   keys.add("hello");   keys.add("james");   keys.add("foo");   Map<String, Object> ret = db.getMulti(keys);       for (String key : ret.keySet()) {          System.out.println(key + " : " + ret.get(key));   }       // delete the key: foo   db.delete("foo");       // close the db connection   db.close();</pre>    <p></p>    <div id="p_fullcontent" class="detail">     <p><span style="font-weight:bold;">项目地址:<a href="/misc/goto?guid=4958199517749276449" target="_blank">http://code.google.com/p/beansdb4j/</a></span><br /> <br /> BeansDB 是一个主要针对大数据量、高可用性的分布式KeyValue存储系统,采用HashTree和简化的版本号来快速同步保证最终一致性(弱),一个简化版的 Dynamo。</p>     <p>它采用类似memcached的去中心化结构,在客户端实现数据路由。目前只提供了 Python版本的客户端,其它语言的客户端可以由memcached的客户端稍加改造得到。</p>     <p>主要特性包括:</p>     <ul>      <li>高可用:通过多个可读写的用于备份实现高可用;</li>      <li>最终一致性:通过哈希树实现快速完整数据同步(短时间内数据可能不一致);</li>      <li>容易扩展:可以在不中断服务的情况下进行容量扩展;</li>      <li>高性能:异步IO和高性能的Key Value数据Tokyo Cabinet;</li>      <li>可配置的可用性和一致性:通过N,W,R进行配置;</li>      <li>简单协议:Memcached兼容协议,大量可用客户端。</li>     </ul>     <p>项目地址:<a href="/misc/goto?guid=4958199518503385399" target="_blank">http://code.google.com/p/beansdb/</a></p>    </div>    <p></p>