java使用内存数据库ssdb的步骤

网友投稿 249 2023-02-15

java使用内存数据库ssdb的步骤

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

1. 特性

替代 Redis 数据库, Redis 的 100 倍容量

LevelDB 网络支持, 使用 C/C++ 开发

Redis API 兼容, 支持 Redis 客户端

适合存储集合数据, 如 list, hash, zset...

客户端 API 支持的语言包括: C++, php, python, java, Go

持久化的队列服务

主从复制, 负载均衡

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

require_once('SSDB.php');

$ssdb = new SimpleSSDB('127.0.0.1', 8888);

$resp = $ssdb->set('key', '123');

$resp = $ssdb->get('key');

echo $resp; // output: 123

2. 安装

wget --no-check-certifhttp://icate https://github.com/ideawu/ssdb/archive/master.zip

unzip master

cd ssdb-master

make

# optional, install ssdb in /usr/local/ssdb

sudo make install

3. 启动

# start master

./ssdb-server ssdb.conf

# or start as daemon

./ssdb-server -d ssdb.conf

4. 与redis性能对比

5. java 读写ssdb

java操作ssdb需要的maven依赖:

&LsWXZTwflt;groupId>com.lovver

ssdbj

0.0.1

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

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 setParams=new ArrayLisLsWXZTwft(){

{

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();

}

}

}

SSDBPoolConnection连接池方式

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

import com.lovver.ssdbj.core.BaseResultSet;

import com.lovver.ssdbj.core.SSDBDriver;

import com.lovver.ssdbj.core.impl.SSDBConnection;

import com.lovver.ssdbj.exception.SSDBException;

import com.lovver.ssdbj.pool.SSDBDataSource;

import com.lovver.ssdbj.pool.SSDBPoolConnection;

import org.junit.Test;

import java.util.ArrayList;

import java.util.List;

import java.util.Properties;

/**

* @Author: keguang

* @Date: 2020/2/17 16:23

* @version: v1.0.0

* @description:

*/

public class SSDBTest {

private static SSDBDataSource ds=null;

static{

Properties info = new Properties();

info.setProperty("password", "ssdb.test");

info.setProperty("loginTimeout", "300");

info.setProperty("tcpKeepAlive", "true");

info.setProperty("protocolName", "ssdb");

ihttp://nfo.setProperty("protocolVersion", "1.0");

ds = new SSDBDataSource("192.168.1.1",8888,null,info);

}

@Test

public void test2(){

SSDBPoolConnection conn=null;

try {

conn = ds.getConnection();

System.out.println(conn);

ArrayList setParams=new ArrayList(){

{

add("language".getBytes());

add("zh-CN".getBytes());

}

};

conn.execute("set",setParams);

ArrayList params=new ArrayList();

params.add("language".getBytes());

BaseResultSet rs= conn.execute("get",params);

if(rs.getResult() == null){

System.out.println("null");

}

System.out.println(new String(rs.getResult()));

} catch (Exception e) {

e.printStackTrace();

}finally {

if (conn != null){

conn.close();

}

}

}

}

以上就是java使用内存数据库ssdb的步骤的详细内容,更多关于java使用内存数据库ssdb的资料请关注我们其它相关文章!

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Ibatis配置xml文件CDATA使用方法详解
下一篇:自动识别营业执照(电子营业执照识别机具)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~