Skip to content

yq76034150/hsj

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 

Repository files navigation

 HSJ是mysql插件handlersocket的一个java客户端。Handlersocket(以下简称hs)是mysql的一个插件,旨在提高mysql的写入和读取性能,它通过插件的方式赋予MySQL完整的NoSQL功能,从原理上讲,它跳过MySQL中最耗时的语法解析,查询计划等步骤,直接读取数据,如果内存够大,能装下索引,MySQL的查询效率能提高若干倍!相关原理和性能表现参见:(中文)http://www.mysqlops.com/2011/10/19/handlersocket-principle.html(英文,需翻墙)http://yoshinorimatsunobu.blogspot.com/2010/10/using-mysql-as-nosql-story-for.html。hs的安装比较简单,两种方式:1.安装mysql的 Percona Server 社区版本,最新版已经自带了hs插件;2.安装mysql5.5以上版本,再安装hs最新版。具体参见:http://huoding.com/2011/04/10/62

     hs的源码和各种语言的客户端参见:https://github.com/ahiguti/HandlerSocket-Plugin-for-MySQL

     hs的java客户端目前已知的有两个:

     http://code.google.com/p/hs4j/

     http://code.google.com/p/handlersocketforjava/

     handlersocketforjava这个客户端实现简单,不具备什么实用性。hs4j网络层复用xmemcached,但hs一些新的操作协议没有实现,作者好像也不再维护了,并且没有异步调用接口。加上本人最近工作重心偏向网络编程,所以就基于netty实现了一个新的hs的java客户端-HSJ。

    HSJ有以下几点优势:

   1.完备的操作协议支持。包括认证(auth)和modify的各类操作。

   2.异步调用接口支持。

   3.开放的接口,方便支持分库分表的应用使用。

   4.更好的封装,openindex操作复用HSJ内部已经实现,勿需调用者关心。hs4j需要自行实现,否则会使应用崩溃。

    5.基于netty开发,性能上有提升。

    6.完备的代码调用示例,方便上手使用。具体参见DbOperateTest.java

    当然HSJ还有很多待完善的地方,希望更多的应用使用HSJ,使之成为最好的HS java客户端。也希望有感兴趣的开发者加入。请联系:[email protected]

    HSJ源码地址:https://hsj.googlecode.com/svn/trunk

About

handlersocket client for java by netty.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages