使用LLServer實現(xiàn)對leveldb的訪問封裝詳解
LLServer編譯安裝及使用過程是本文我們主要要介紹的內容,LLServer是筆者基于libevent和leveldb這兩個開源軟件,開發(fā)的輕量級數(shù)據(jù)存儲服務器軟件,借助libevent高效網(wǎng)絡接口實現(xiàn)對leveldb的訪問封裝。接下來我們就介紹這部分內容。
LLServer 編譯安裝:
1.安裝libevent2.0
- ulimit-SHn65535
- wgethttp://monkey.org/~provos/libevent-2.0.12-stable.tar.gz
- tarzxvflibevent-2.0.12-stable.tar.gz
- cdlibevent-2.0.12-stable/
- ./configure--prefix=/usr
- make&&makeinstall
- 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之后編譯安裝。
- cdleveldb/
- make-fMakefile
- cplibleveldb.a/usr/local/lib/
- cp-rfinclude/*/usr/local/include/
- cd../
3.LLServer下載地址:
- wgethttp://llserver.googlecode.com/files/llserver-1.0.tar.gz
- tarzxvfllserver-1.0.tar.gz
- cdllserver/
- make-fMakefile
- makeinstall
- cd../
4、LLServer 使用文檔:
- [root@~]# llserver -h
- -l <ip_addr> 監(jiān)聽的IP地址,默認值為 0.0.0.0
- -p <num> 監(jiān)聽的TCP端口(默認值:11211)
- -x <path> 數(shù)據(jù)庫目錄,目錄不存在會自動創(chuàng)建(例如:/llserver/data)
- -c 數(shù)據(jù)緩存隊列單位,默認為100m
- -t <second> HTTP請求的超時時間
- -s 1:http協(xié)議 other:memcached協(xié)議
- -d 以守護進程運行
- -h 顯示幫助
使用示例:
llserver-l127.0.0.1-p11211-d-s1-x/llserver/db0
HTTP GET 協(xié)議(以curl命令為例):
- curl"http://127.0.0.1:11211/?opt=set&charset=utf-8&key=username&value=daizhj"
- curl"http://127.0.0.1:11211/?opt=set&charset=utf-8&key=username&value=daizhj&exptime=(unix時間戳,設置有效期)"
HTTP POST 協(xié)議(以curl命令為例):
- curl-d"daizhj"http://127.0.0.1:11211/?opt=set&charset=utf-8&key=username
打開瀏覽器:如果set成功,返回:LLServer_SET_OK
如果set失敗,返回:LLServer_SET_ERROR
獲取數(shù)據(jù):
HTTP GET 協(xié)議(以curl命令為例):
- curl http://127.0.0.1:11211/?opt=get&charset=utf-8&key=username
打開瀏覽器:
如果get成功,返回相應數(shù)據(jù)信息
如果get失敗,返回:LLServer_GETKEY_ERROR
刪除數(shù)據(jù):
HTTP GET 協(xié)議(以curl命令為例):
- curl http://127.0.0.1:11211/?opt=delete&key=username
打開瀏覽器:
如果delete成功,返回:LLServer_DELETE_OK
如果delete失敗,返回:LLServer_DELETE_ERROR
刪除全部數(shù)據(jù):
HTTP GET 協(xié)議(以curl命令為例):
- curl http://127.0.0.1:11211/?opt=deleteall&key=username
打開瀏覽器:
如果delete成功,返回:LLServer_DELETEALL_OK
如果delete失敗,返回:LLServer_DELETEALL_ERROR
使用telnet鏈接示例(基于memcached協(xié)議):
llserver-l10.0.4.188-p11211-d-s2-x/llserver/db1
set操作:
- client => set username 0 0 6
- daizhj
- llserver=> STORED
get操作:
- client=> get username
- llserver=> daizhj
delete操作:
- client=> delete username
- llserver=> DELETED
- quit:
- client=> quit
- llserver=> close client_fd
- version:
- client=> version
- llserver=>1.0
以上就是LLServer編譯安裝以及使用它實現(xiàn)對leveldb的訪問封裝的過程,本文就介紹到這里了,希望本次的介紹能夠對您有所收獲!
【編輯推薦】