<返回更多

java使用内存数据库ssdb

2022-08-17    马克-1949
加入收藏

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

 

ssdb官方链接

1. 特性

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

<?php
require_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.zip
unzip master
cd ssdb-master
make
# optional, install ssdb in /usr/local/ssdb
sudo 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依赖:

<dependency>
    <groupId>com.lovver</groupId>
    <artifactId>ssdbj</artifactId>
    <version>0.0.1</version>
</dependency>

XML

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

1 SSDBConnection单连接方式

@Test
public 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<byte[]> setParams=new ArrayList<byte[]>(){
            {
                add("joliny".getBytes());
                add("是的发生地发生1231sdfsfg23".getBytes());
            }
        };
        conn.execute("set",setParams);

        // 从ssdb读取数据
        List params=new ArrayList();
        params.add("joliny".getBytes());
        BaseResultSet<byte[]> 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

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>