zoukankan      html  css  js  c++  java
  • Tokyo Cabinet和Tokyo Tyrant及PHP扩展包的安装

    1. TTServer介绍:
    Tokyo Cabinet 是一款DBM 数据库,该数据库读写非常快,哈希模式写入100万条数据只需0.643秒,读取100万条数据只需0.773秒,是Berkeley DB 等DBM 的几倍。利用Tokyo Tyrant构建兼容Memcached协议、支持故障转移、高并发的分布式key-value持久存储系统。key-value分布式存储系统查询速度 快、存放数据量大、支持高并发,非常适合通过主键进行查询,但不能进行复杂的条件查询。
    Tokyo Tyrant 是由同一作者开发的Tokyo Cabinet 数据库网络接口。它拥有Memcached兼容协议,也可以通过HTTP协议进行数据交换。Tokyo Tyrant 加上Tokyo Cabinet,构成了一款支持高并发的分布式持久存储系统,对任何原有Memcached客户端来讲,可以将Tokyo Tyrant看成是一个Memcached,但是,它的数据是可以持久存储的。
     
    基本概念:
    Tokyocabinet: 一个key-value的DBM数据库,但是没有提供网络接口,简称TC。
    Tokyotyrant: 是为TC写的网络接口,他支持memcache协议,也可以通过HTTP操作,简称TT。
     
    2. 包下载:
    # wgethttp://tokyocabinet.sourceforge.net/tokyocabinet-1.4.28.tar.gz
    # wget http://tokyocabinet.sourceforge.net/tyrantpkg/tokyotyrant-1.1.33.tar.gz
     
    3. 安装tokyocabinet
    # tar -zxvftokyocabinet-1.4.28.tar.gz; 
    # cd tokyocabinet-1.4.28;
    # ./configure--prefix=/usr/local/tokyocabinet
    *** 问题***
    a. 编译器没有安装,解决办法:
    # yum –y install gcc.i386
     
    b. zlib组件找不到,解决办法:
    # yum install bzip2.i386bzip2-devel.i386
     
    4.安装tokyotyrant
    # tar -zxvftokyotyrant-1.1.33.tar.gz
    # cd tokyotyrant-1.1.33
    # ./configure--prefix=/usr/local/tokyotyrant --with-tc=/usr/local/tokyocabinet
    #make && make install
     
    注:安装Tokyo Cabinet时指定目录,安装Tokyo Tyrant时用--with-tc指定Tokyo Cabinet的目录。
     
    5.   创建启动用户,并启动。
    #mkdir /var/lib/ttserver                                                         --创建数据文件存放目录
    #chown –R ttserver.ttserver /var/lib/ttserver/
    #groupadd ttserver                                                                   --添加组
    #useradd –m –s /bin/bash –g ttserver ttserver                         --创建用户
    创建用户ttserver,服务会以ttserver用户启动。
     
    #cd /usr/local/
    #chown -R ttserver.ttserver tokyocabinet/ tokyotyrant/        --调整权限
    #su ttserver;
    #./bin/ttserver -host 127.0.0.1 -port 11219 -thnum 8 -dmn -pid /var/lib/ttserver/ttserver.pid -log /var/lib/ttserver/ttserver.log -le -ulog /var/lib/ttserver/ -ulim 128m -sid 1 -rts /var/lib/ttserver/ttserver.rts /var/lib/ttserver/database.tcb
    这里会出错,解决方案如下
    cd /usr/local/tokyotyrant/lib
    ln -s /usr/local/tokyocabinet/lib/libtokyocabinet.so.8 libtokyocabinet.so.8
    在生产服务器上确保文件描述符够用,默认为1024,启动ttserver前可提高此项值:
    # ulimit -SHn51200
     
    参数说明:
    ttserver [-host name] [-port num] [-thnum num] [-tout num][-dmn] [-pid path] [-log path] [-ld|-le] [-ulog path] [-ulim num] [-uas] [-sidnum] [-mhost name] [-mport num] [-rts path] [dbname]
     
      -host name : 指定需要绑定的服务器域名或IP地址。默认绑定这台服务器上的所有IP地址。
      -port num : 指定需要绑定的端口号。默认端口号为1978
      -thnum num : 指定线程数。默认为8个线程。
      -tout num : 指定每个会话的超时时间(单位为秒)。默认永不超时。
      -dmn : 以守护进程方式运行。
      -pid path : 输出进程ID到指定文件(这里指定文件名)。
      -log path : 输出日志信息到指定文件(这里指定文件名)。
      -ld : 在日志文件中还记录DEBUG调试信息。
      -le : 在日志文件中仅记录错误信息。
      -ulog path : 指定同步日志文件存放路径(这里指定目录名)。
      -ulim num : 指定每个同步日志文件的大小(例如128m)。
      -uas : 使用异步IO记录更新日志(使用此项会减少磁盘IO消耗,但是数据会先放在内存中,不会立即写入磁盘,如果重启服务器或ttserver进程被kill掉,将导致部分数据丢失。一般情况下不建议使用)。
      -sid num : 指定服务器ID号(当使用主辅模式时,每台ttserver需要不同的ID号)
      -mhost name : 指定主辅同步模式下,主服务器的域名或IP地址。
      -mport num : 指定主辅同步模式下,主服务器的端口号。
      -rts path : 指定用来存放同步时间戳的文件名。
     
    6.   验证服务
    通过http试调用,以curl命令为例,介绍如何操作tokyotyrant: 
    (1). 写入数据库,将数据”value”写入到”key”中:
    [root@localhosttokyotyrant]# curl -X PUT http://127.0.0.1:11219/key -d "value"
    Created
     
    (2). 读取”key”的值:
    [root@localhosttokyotyrant]# curl http://127.0.0.1:11219/key
    value
     
    (3). 删除”key”的数据:
    [root@localhosttokyotyrant]# curl -X DELETE http://127.0.0.1:11219/key
    OK
     
    7.   停止服务
    找到ttserver服务进程号,并kill掉:
    #kill -TERM `cat /var/lib/ttserver/ttserver.pid`
     
    参考资料: 
    (1). http://blog.s135.com/post/362/4/1/
    (2). http://www.162cm.com/p/tokyotyrant.html#toc23
    安装PHP扩展
    wget http://pecl.php.net/get/tokyo_tyrant-0.5.0.tgz
    tar zxvf tokyo_tyrant-0.5.0.tgz 
    cd tokyo_tyrant-0.5.0
    /usr/local/php/bin/phpize
    ./configure --with-php-config=/usr/local/php/bin/php-config --with-tokyo-tyrant=/usr/local/tokyotyrant --with-tokyo-cabinet-dir=/usr/local/tokyocabinet
    make
    make install
    将生成的扩展包文件拷到指定目录下。
    cp /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/tokyo_tyrant.so /usr/local/php/etc/ext/tokyo_tyrant.so
    安装完成以后,在php.ini里面增加一行extension = tokyo_tyrant.so,然后tt扩展就生效了。
    使用的完整文档
    http://us3.php.net/manual/zh/book.tokyo-tyrant.php
  • 相关阅读:
    app-framework学习--panel传值
    app-framework学习--动态管理panel
    app-framework学习--iscrolldemo
    app-framework学习--中文api
    app-framework学习--iscroll5+jquery+afui上拉加载下拉刷新
    DeepLearning tutorial(5)CNN卷积神经网络应用于人脸识别(详细流程+代码实现)
    提升深度学习模型的表现,你需要这20个技巧
    Deep Learning(深度学习)学习笔记整理系列之常用模型(四、五、六、七)
    池化
    卷积特征提取
  • 原文地址:https://www.cnblogs.com/yinjian/p/2205306.html
Copyright © 2011-2022 走看看