java使用内存数据库ssdb

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

java使用内存数据库ssdb

文章插图
 
ssdb官方链接
1. 特性
  • 替代 Redis 数据库, Redis 的 100 倍容量
  • LevelDB 网络支持, 使用 C/C++ 开发
  • Redis API 兼容, 支持 Redis 客户端
  • 适合存储集合数据, 如 list, hash, zset...
  • 客户端 API 支持的语言包括: C++, php, Python/ target=_blank class=infotextkey>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: 123PHP
2. 安装wget --no-check-certificate https://github.com/ideawu/ssdb/archive/master.zipunzip mastercd ssdb-mastermake# optional, install ssdb in /usr/local/ssdbsudo make installBash
3. 启动# start master./ssdb-server ssdb.conf# or start as daemon./ssdb-server -d ssdb.confBash
4. 与redis性能对比
java使用内存数据库ssdb

文章插图
 
5. java 读写ssdb【java使用内存数据库ssdb】java操作ssdb需要的maven依赖:
<dependency><groupId>com.lovver</groupId><artifactId>ssdbj</artifactId><version>0.0.1</version></dependency>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);// 写入数据到ssdbArrayList<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




    推荐阅读