IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

对TokyoTyrant的一个简单的patch,以支持列出所有的Key

互联网,请记住我 2010-01-03 20:42:17 累计浏览 2,390 次
本机暂存

    有人在网上评价说Redis、mongodb等Key-value对的数据库,说redis特别牛,能支持列出所有的key;

    其实tokyotyrant也是可以的呀,因为我看他底层持tcmdb,tchdb等都是支持遍历所有Key的,于是小小地做了一个改动,以支持列出的tokyotyrant的所有Key.

    代码放在http://github.com/xurenlu/mc_list_patch_4_tokyotyrant上了。

    用法:

    1.启动ttserver:

    ttserver db.tch

    3.telnet上去,试试set命令:

telnet localhost 1978
    Trying 127.0.0.1…
    Connected to localhost.localdomain.
    Escape character is '^]'.
    set kw2 1 1 3
    123
    STORED
    list
    LIST 9
    kw
    kw2
    END

     看这里,已经支持list命令了。

    2 再用php客户端来连接:我还没有去用c写php的memcached客户端,就从网上找了一个php做的类,在git目录里有:

include "memcache.class.php";
    $hosts = array('127.0.0.1:1978');
    $mc = &new MemCachedClient($hosts);
    var_dump($mc->listkeys());

    关于安装:

    1.tokyotyrant基于tokyocabinet,需要先安装 tokyocabinet,请在http://github.com/xurenlu/mc_list_patch_4_tokyotyrant/downloads 下载.

~/download@aragorn   $ wget http://cloud.github.com/downloads/xurenlu/mc_list_patch_4_tokyotyrant/tokyocabinet-1.4.41.tar.gz
~/download@aragorn   $ tar -xzf tokyocabinet-1.4.41.tar.gz
~/download@aragorn   $ cd tokyocabinet-1.4.41
~/download/tokyocabinet-1.4.41@aragorn  $ ./configure
….省却若干输出…
~/download/tokyocabinet-1.4.41@aragorn  $  make && make install

    接下来,请先下载tokyotyrant 1.1.37,可以在http://github.com/xurenlu/mc_list_patch_4_tokyotyrant/downloads 这里下载.

     下载下来后,解压、patch:

~/download@aragorn   $ wget http://cloud.github.com/downloads/xurenlu/mc_list_patch_4_tokyotyrant/tokyotyrant-1.1.37.tar.gz
~/download@aragorn   $ tar -xzf tokyotyrant-1.1.37.tar.gz
~/download@aragorn   $ patch -p0 < mc_list.patch
patching file tokyotyrant-1.1.37/ttserver.c

    然后编译tokyotyrant:

~/download/@aragorn  $cd tokyotyrant-1.1.37
~/download/tokyotyrant-1.1.37/@aragorn $ ./configure
…..若干输出,略去..
~/download/tokyotyrant-1.1.37/@aragorn $ make && sudo make install

    接下来就可以启动ttserver来玩了。

同分类推荐文章

  1. 使用deepseek进行Oracle恢复,引起重大故障 (2026-06-22 10:56:00)
  2. 接手一个只差临门一脚的数据库恢复 (2026-06-18 00:13:09)
  3. 我做了一个 AI 版的 StarRocks 升级风险扫描工具,直接帮我定位到一个风险 (2026-06-15 01:00:00)

查看更多 数据库 文章 →

建议继续学习

  1. 我的git笔记 (累计阅读 20,260)
  2. 给年轻程序员的几句话 (累计阅读 6,086)
  3. 注释里的诅咒:哪种语言遭受最多的咒骂? (累计阅读 5,640)
  4. GitHub中的README.MD文件编写语法 (累计阅读 5,584)
  5. 老托的Oracle 数据库Patch概念性小常识 (累计阅读 5,550)
  6. github 上 Fork 别人的项目后的常用的操作指南 (累计阅读 4,777)
  7. 关于Memcache长连接自动重连的问题 (累计阅读 4,755)
  8. nodejs教程:配置nodejs.exe的windows目录结构 (累计阅读 4,668)
  9. 代码审查:ThoughtBot官方给出的代码审查指导原则 (累计阅读 4,536)
  10. 如何为PHP贡献代码 (累计阅读 4,274)