LLServer1 0及C 客戶端正式發布並開源

2021-09-08 01:58:55 字數 3907 閱讀 5590

llserver是本人基於libevent和leveldb這兩個開源軟體,開發的輕量級資料儲存伺服器軟體,借助libevent高效網路介面實現對leveldb的訪問封裝。

專案**:

使用環境:linux

目前發布版本:1.0

其支援http協議和memcached協議。也就是可以通過瀏覽器或現有的memcached客戶端來進行資料的curd操作。

下面簡單介紹一下如何安裝使用llserver。   

llserver 編譯安裝:

1.安裝libevent2.0

ulimit -shn 65535

wget

tar zxvf libevent-2.0.12-stable.tar.gz

cd libevent-2.0.12-stable/

./configure --prefix=/usr

make && make install

cd ../

wget

tar zxvf leveldb.tar.gz

之後編譯安裝  

cd leveldb/    

make -f makefile   

cp libleveldb.a /usr/local/lib/

cp -rf include/* /usr/local/include/

cd ../

wget 

tar zxvf llserver-1.0.tar.gz

cd llserver/

make -f makefile

make install

cd ../

4、llserver 使用文件:

[root@~]# llserver -h

-l 監聽的ip位址,預設值為 0.0.0.0

-p 監聽的tcp埠(預設值:11211)

-x 資料庫目錄,目錄不存在會自動建立(例如:/llserver/data)

-c 資料快取佇列單位,預設為100m

-t http請求的超時時間

-s 1:http協議  other:memcached協議

-d 以守護程序執行

-h 顯示幫助

使用示例:

llserver -l 127.0.0.1 -p 11211  -d -s 1 -x /llserver/db0

http get 協議(以curl命令為例):

curl "

&charset

=utf-8

&key

=username

&value

=daizhj"

curl "

&charset

=utf-8

&key

=username

&value

=daizhj

&exptime

=(unix時間戳,設定有效期)"

http post 協議(以curl命令為例):

curl -d "daizhj" "

&charset

=utf-8

&key

=username"

開啟瀏覽器:  

如果set成功,返回:llserver_set_ok

如果set失敗,返回:llserver_set_error

獲取資料:

http get 協議(以curl命令為例):

curl ""

開啟瀏覽器:

如果get成功,返回相應資料資訊

如果get失敗,返回:llserver_getkey_error

刪除資料:

http get 協議(以curl命令為例):

curl ""

開啟瀏覽器:

如果delete成功,返回:llserver_delete_ok

如果delete失敗,返回:llserver_delete_error

刪除全部資料:

http get 協議(以curl命令為例):

curl ""

開啟瀏覽器:

如果delete成功,返回:llserver_deleteall_ok

如果delete失敗,返回:llserver_deleteall_error

使用telnet鏈結示例(基於memcached協議):

llserver -l 10.0.4.188 -p 11211  -d -s 2 -x /llserver/db1

set操作:

client =>  set username 0 0 6

daizhj     

llserver=> stored

get操作:

client=>   get username

llserver=> daizhj

delete操作:

客戶端 c#原始碼包:

2.當然也可以使用c#的httpwebrequest來直接訪問,比如(**源自discuz!nt):

這裡傳送請求並返回資料      

當然你可也以用其它語言的memcached客戶端來訪問llserver,不過有一點要說明的是,目前llserver只儲存序列化的字串物件,如果你的資料為泛型或陣列等型別,請先序列化之後再進行儲存。  

還有就是在c#裡可以對資料進行二進位制序列化,這裡必須將序列化後的物件進行base64位編碼之後再儲存,否則會報異常,切記。  

leveldb、treedb、sqlite3效能對比測試

leveldb內部實現

微博:

tags: libevent,leveldb,llserver,key/value db

LLServer1 0及C 客戶端正式發布並開源

llserver是本人基於libevent和leveldb這兩個開源軟體,開發的輕量級資料儲存伺服器軟體,借助libevent高效網路介面實現對leveldb的訪問封裝。專案 使用環境 linux 目前發布版本 1.0 其支援http協議和memcached協議。也就是可以通過瀏覽器或現有的memc...

C 記憶體共享 客戶端

c 記憶體共享三 2008年11月13日 星期四 下午 07 22 客戶端 using system using system.collections.generic using system.componentmodel using system.data using system.drawing...

c 獲取客戶端資訊

string info 客戶端ip page.request.userhostaddress info 使用者資訊 page.user info 伺服器電腦名稱 page.server.machinename info 當前使用者電腦名稱 system.net.dns.gethostname inf...