java使用内存数据库ssdb

看这篇文章的同学,redis相信你一定很熟悉了,ssdb是一个功能类似于redis,性能稍弱于redis的高性能数据库,主要是可以使用磁盘代替内存,使得小内存可以胜任请求不高的大部分场景,从而节约资源。ssdb官方是这样评价的 : 一个高性能的支持丰富数据结构的 NoSQL 数据库, 用于替代 Redis.

ssdb官方链接

1. 特性

  • 替代 Redis 数据库, Redis 的 100 倍容量
  • LevelDB 网络支持, 使用 C/C++ 开发
  • Redis API 兼容, 支持 Redis 客户端
  • 适合存储集合数据, 如 list, hash, zset...
  • 客户端 API 支持的语言包括: C++, PHP, Python, Java, Go
  • 持久化的队列服务
  • 主从复制, 负载均衡

支持多种api,比如php使用:

<?phprequire_once('SSDB.php');ssdb = new SimpleSSDB('127.0.0.1', 8888);resp = ssdb->set('key', '123');resp = ssdb->get('key');echoresp; // output: 123

PHP

2. 安装

wget --no-check-certificate https://github.com/ideawu/ssdb/archive/master.zipunzip mastercd ssdb-mastermake# optional, install ssdb in /usr/local/ssdbsudo make install

Bash

3. 启动

# start master./ssdb-server ssdb.conf# or start as daemon./ssdb-server -d ssdb.conf

Bash

4. 与redis性能对比

5. java 读写ssdb

java操作ssdb需要的maven依赖:

    com.lovver    ssdbj    0.0.1

XML

java读取ssdb,有两种方式,分别是单连接和连接池的方式,亲测以下方式都可以用:

1 SSDBConnection单连接方式

@Testpublic void test(){    SSDBDriver dd= new SSDBDriver();    Properties info = new Properties();    info.setProperty("SSDB_HOST", "192.168.1.1");    info.setProperty("SSDB_PORT", "8888");    // 密码    info.setProperty("password", "ssdb.test");    info.setProperty("loginTimeout", "300");    info.setProperty("tcpKeepAlive", "true");    info.setProperty("protocolName", "ssdb");    info.setProperty("protocolVersion", "1.0");    SSDBConnection conn = null;    try{        conn = dd.connect(info);        System.out.println(conn);        // 写入数据到ssdb        ArrayList setParams=new ArrayList(){            {                add("joliny".getBytes());                add("是的发生地发生1231sdfsfg23".getBytes());            }        };        conn.execute("set",setParams);        // 从ssdb读取数据        List params=new ArrayList();        params.add("joliny".getBytes());        BaseResultSet rs=conn.execute("get",params);        System.out.println(new String(rs.getResult()));    } catch (SSDBException e) {        e.printStackTrace();    }finally {        if(conn != null){            conn.close();        }    }}

Java

2 SSDBPoolConnection连接池方式
多线程通常需要用连接池的方式,提高效率。

。。。。。。。。。。。。。

作者:柯广

篇幅有限更多请见扩展链接:http://www.mark-to-win.com/tutorial/52240.html

发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章