文件名称:gibson:一种高性能的基于树的缓存服务器
文件大小:89KB
文件格式:ZIP
更新时间:2024-06-24 05:33:01
C
吉布森 报告问题: : 吉布森网站: : 文档: : 介绍 Gibson 是一个高效的、基于树的内存缓存服务器。 普通的键值存储(memcache、Redis 等)使用哈希表作为其主要数据结构,因此每个键都使用特定算法进行哈希处理,所得哈希值用于标识内存中的给定值。 这种方法虽然非常快,但不允许用户在给定(多个)键集上执行 globbing 表达式/选择,从而导致纯粹的一对一访问范式。 Gibson 不同,它使用一种特殊的基于树的结构,允许用户使用前缀表达式对多个键集执行操作,在最坏的情况下实现相同的性能等级,在平均情况下甚至更好。 与许多其他服务器应用程序不同,它不是多线程的,但它利用多路复用利用事件驱动的网络层(就像 Node.js 或 Nginx 使用 libevent 等),即使在低成本硬件上也能提供更高的性能。 如果出现以下情况,您需要 Gibson: 您需要缓
【文件预览】:
gibson-unstable
----.gitignore(303B)
----src()
--------query.c(43KB)
--------lzf.h(4KB)
--------server.h(2KB)
--------lzfP.h(5KB)
--------query.h(2KB)
--------llist.c(3KB)
--------endianness.c(2KB)
--------config.c(6KB)
--------net.h(11KB)
--------config.h(2KB)
--------net.c(36KB)
--------gibson.c(12KB)
--------trie.c(11KB)
--------log.h(2KB)
--------server.c(18KB)
--------endianness.h(2KB)
--------configure.h.in(981B)
--------mux()
--------lzf_c.c(9KB)
--------zmem.h(3KB)
--------zmem.c(12KB)
--------obpool.h(3KB)
--------log.c(4KB)
--------trie.h(3KB)
--------lzf_d.c(4KB)
--------llist.h(4KB)
--------default.h(3KB)
--------obpool.c(5KB)
----.travis.yml(92B)
----LICENSE(2KB)
----.gitmodules(121B)
----debian()
--------etc()
----README.md(2KB)
----devel()
--------commands.json(15KB)
--------snapshot.sh(385B)
----CMakeLists.txt(5KB)