NoSQL數據庫 tstdb新版發布:支持前綴搜素和范圍搜索

openkk 12年前發布 | 7K 次閱讀 NOSQL

tstdb是一種基于日志重放機制的memcached兼容的key-value數據庫,可用于需要緩存數據落地的一些場合。

它兼容memcached的客戶端(支持get,set和delete命令),支持value過期設置。讀寫性能與memcached接近。日志重放速度很快,作者測試時一億數據的reloading(key:10bytes ,value: 20 bytes)只需要2分鐘,內存占用2.1G。

這個版本的主要改進包括:

1. 加入了prefix search和range query的支持
2. 更好低兼容memcached,加入了incr/derc/gets/cas操作
3. 改進了服務器的buffer管理,更加穩定
4. 改進了數據持久化機制,除了日志重放外還加上了磁盤鏡像reload功能,使得服務重啟時數據加載更快
5. 支持pipeline請求,支持noreply的異步set操作

目前,您可以使用任意的memcached客戶端來訪問tstdb。
如果您需要使用prefix search等功能的話,目前只有一個python客戶端pytst可用。不過,很容易擴展到其他語言。

安裝說明:http://code.google.com/p/tstdb/wiki/TSTDBV2

 

Usage demo

 

import pytst
tst = pytst.TSTClient(host='localhost',port=8402) tst.set("some_key", "Some value") value = tst.get("some_key") print value

tst</span>.set("another_key", 3) tst.delete("another_key") tst.set("key", "1") tst.incr("key") tst.decr("key") tst.set('haha/1',123) tst.set('haha/2',456) tst.set('haha/5','xyz') print tst.prefix('haha') print tst.less('haha/2') print tst.greater('haha/2')</pre>

output will be

Some value['haha/1', 'haha/2', 'haha/5'] ['haha/2', 'haha/1'] ['haha/2', 'haha/5', 'key', 'some_key']

 本文由用戶 openkk 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!