使用LLServer实现对leveldb的访问封装详解

数据库 其他数据库
LLServer是笔者基于libevent和leveldb这两个开源软件,开发的轻量级数据存储服务器软件,借助libevent高效网络接口实现对leveldb的访问封装。本文我们主要介绍一下LLServer编译安装及使用过程,希望能够对您有所帮助。

LLServer编译安装及使用过程是本文我们主要要介绍的内容,LLServer是笔者基于libevent和leveldb这两个开源软件,开发的轻量级数据存储服务器软件,借助libevent高效网络接口实现对leveldb的访问封装。接下来我们就介绍这部分内容。

LLServer 编译安装:

1.安装libevent2.0

  1. ulimit-SHn65535  
  2. wgethttp://monkey.org/~provos/libevent-2.0.12-stable.tar.gz  
  3. tarzxvflibevent-2.0.12-stable.tar.gz  
  4. cdlibevent-2.0.12-stable/  
  5. ./configure--prefix=/usr  
  6. make&&makeinstall  
  7. cd../ 

2.通过svn:客户端下载leveldb到本地leveldb文件夹,链接:http://leveldb.googlecode.com/svn/trunk/ 或暂时用我这个打好包的地址下载:wget http://llserver.googlecode.com/files/leveldb.tar.gz, tar zxvf leveldb.tar.gz之后编译安装。

  1. cdleveldb/  
  2. make-fMakefile  
  3. cplibleveldb.a/usr/local/lib/  
  4. cp-rfinclude/*/usr/local/include/  
  5. cd../ 

3.LLServer下载地址:

  1. wgethttp://llserver.googlecode.com/files/llserver-1.0.tar.gz  
  2. tarzxvfllserver-1.0.tar.gz  
  3. cdllserver/  
  4. make-fMakefile  
  5. makeinstall  
  6. cd../ 

4、LLServer 使用文档:

  1. [root@~]# llserver -h  
  2. -l <ip_addr> 监听的IP地址,默认值为 0.0.0.0  
  3. -p <num> 监听的TCP端口(默认值:11211)  
  4. -x <path> 数据库目录,目录不存在会自动创建(例如:/llserver/data)  
  5. -c 数据缓存队列单位,默认为100m  
  6. -t <second> HTTP请求的超时时间  
  7. -s 1:http协议 other:memcached协议  
  8. -d 以守护进程运行  
  9. -h 显示帮助 

使用LLServer实现对leveldb的访问封装详解

使用示例:

llserver-l127.0.0.1-p11211-d-s1-x/llserver/db0

HTTP GET 协议(以curl命令为例):

  1. curl"http://127.0.0.1:11211/?opt=set&charset=utf-8&key=username&value=daizhj"  
  2. curl"http://127.0.0.1:11211/?opt=set&charset=utf-8&key=username&value=daizhj&exptime=(unix时间戳,设置有效期)" 

HTTP POST 协议(以curl命令为例):

  1. curl-d"daizhj"http://127.0.0.1:11211/?opt=set&charset=utf-8&key=username 

打开浏览器:如果set成功,返回:LLServer_SET_OK

使用LLServer实现对leveldb的访问封装详解

如果set失败,返回:LLServer_SET_ERROR

获取数据:

HTTP GET 协议(以curl命令为例):

  1. curl http://127.0.0.1:11211/?opt=get&charset=utf-8&key=username 

打开浏览器:

如果get成功,返回相应数据信息
使用LLServer实现对leveldb的访问封装详解
如果get失败,返回:LLServer_GETKEY_ERROR
使用LLServer实现对leveldb的访问封装详解

删除数据:

HTTP GET 协议(以curl命令为例):

  1. curl http://127.0.0.1:11211/?opt=delete&key=username 

打开浏览器:

如果delete成功,返回:LLServer_DELETE_OK
使用LLServer实现对leveldb的访问封装详解
如果delete失败,返回:LLServer_DELETE_ERROR

删除全部数据:

HTTP GET 协议(以curl命令为例):

  1. curl http://127.0.0.1:11211/?opt=deleteall&key=username 

打开浏览器:

如果delete成功,返回:LLServer_DELETEALL_OK

如果delete失败,返回:LLServer_DELETEALL_ERROR

使用telnet链接示例(基于memcached协议):

llserver-l10.0.4.188-p11211-d-s2-x/llserver/db1

set操作:

  1. client => set username 0 0 6  
  2. daizhj   
  3. llserver=> STORED 

get操作:

  1. client=> get username  
  2. llserver=> daizhj 

delete操作:

  1. client=> delete username  
  2. llserver=> DELETED  
  3. quit:  
  4. client=> quit  
  5. llserver=> close client_fd  
  6.  
  7. version:  
  8. client=> version  
  9. llserver=>1.0 

使用LLServer实现对leveldb的访问封装详解

以上就是LLServer编译安装以及使用它实现对leveldb的访问封装的过程,本文就介绍到这里了,希望本次的介绍能够对您有所收获!

【编辑推荐】

  1. SQL Server数据库托管代码的使用详解
  2. 从物理结构上谈一谈SQL Server数据库的优化
  3. SQL Server 2008 R2命名故障转移群集的实例解析
  4. SQL Server使用UNION代替OR提升查询性能的实例
  5. SQL Server数据库中FOR XML AUTO的使用详解续
责任编辑:赵鹏 来源: 博客园
相关推荐

2011-08-25 10:37:15

leveldb的访问封C#客户端源码

2012-02-24 15:14:23

ibmdw

2022-06-21 08:03:49

RBAC 限制容器

2009-09-09 13:47:38

C++访问SqlCe

2019-03-12 11:11:25

开源Leveldb存储

2020-09-25 08:49:42

HashMap

2018-01-18 14:50:56

Nginx实现CDSW

2021-07-19 19:44:57

技术模型实践

2016-12-08 09:24:48

leveldb数据分布式存储

2010-05-12 16:13:04

2009-06-08 09:22:07

数据访问优化SQL Server

2009-07-07 17:07:07

注册表访问JDK1.4

2023-06-08 09:44:13

WindowSpy目标用户监控

2009-09-15 17:21:00

2015-10-30 15:30:54

LevelDBSSTableSybase

2011-06-09 09:28:24

LevelDB

2010-11-30 18:02:32

NAP

2009-02-10 10:58:59

2022-08-30 08:00:00

架构数据库Postgres

2011-08-22 11:39:13

点赞
收藏

51CTO技术栈公众号