tstdb v2发布,国产开源 key-value 数据库
程序员文章站
2022-04-08 14:51:05
...
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
output will be
它兼容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.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')
output will be
Some value ['haha/1', 'haha/2', 'haha/5'] ['haha/2', 'haha/1'] ['haha/2', 'haha/5', 'key', 'some_key']