Tokyo Tyrant 是 Tokyo Cabinet 数据库网络接口。Tokyo Cabinet 是一款 DBM 数据库,该数据库读写非常快。Tokyo Tyrant拥有Memcached兼容协议,也可以通过HTTP协议进行数据交换,这里要使用的却是它的二进制协议。为什么呢?Tokyo Tyrant以epoll/kqueue/eventports解决了 "c10k" 问题,HTTP协议也很方便,可是短连接每次请求数据都要重新建立连接。有些富客户端应用想保持一个TCP连接,用flash提供的socket连接Tokyo Tyrant可以做到。
网上有很多介绍编译运行Tokyo Tyrant的文章,需要linux环境,如果是windows,可以使用colinux来测试。在windows下安装很方便,要下载的东西总共几十兆,不像虚拟机要下整个映像,运行还很慢。colinux就像其它的windows程序,性能很好。同一台机器windows下装colinux,在colinux里跑nginx,比直接跑在windows上的apache还快。
Tokyo Tyrant运行起来后,可以用以下actionscript测试,注意改IP。
package {
import flash.display.Sprite;
import flash.events.Event;
import flash.events.ProgressEvent;
import flash.net.Socket;
import flash.utils.ByteArray;
import flash.utils.Endian;
public class test extends Sprite
{
private var socket:Socket;
public function test()
{
socket = new Socket();
socket.addEventListener(Event.CONNECT,connectFun);
socket.addEventListener(ProgressEvent.SOCKET_DATA,syncFun);
socket.connect("192.168.0.6",1978);
}
private function connectFun(e:Event):void{
trace("连接成功");
testput();
}
private function syncFun(e:ProgressEvent):void{
if(socket.bytesAvailable == 1){//put成功返回1byte
trace(socket.readByte());//0表示成功
testget();
}else{//get返回
trace(socket.readByte());//0表示成功
var n:int = socket.readInt();
trace(socket.readUTFBytes(n));//取回的值
}
}
private function testput():void{
var key:String = "key2";
var val:String = "value222";
var ha:ByteArray=new ByteArray();
ha.endian = Endian.BIG_ENDIAN;
ha.writeByte(0xc8);
ha.writeByte(0x10);
ha.writeUnsignedInt(key.length);
ha.writeUnsignedInt(val.length);
ha.writeUTFBytes(key);
ha.writeUTFBytes(val);
socket.writeBytes(ha,0,ha.length);
socket.flush();
}
private function testget():void{
var key:String = "key2";
var ha:ByteArray=new ByteArray();
ha.endian = Endian.BIG_ENDIAN;
ha.writeByte(0xc8);
ha.writeByte(0x30);
ha.writeUnsignedInt(key.length);
ha.writeUTFBytes(key);
socket.writeBytes(ha,0,ha.length);
socket.flush();
}
}
}
分享到:
相关推荐
1. 连接管理:TTClient可以建立到Tokyo Tyrant服务器的连接,支持配置不同的连接参数,如主机地址、端口号等。连接池的概念也可能被应用,以提高性能并管理资源。 2. 数据操作:客户端提供API接口,用于执行基本的...
标题中的“memcached, mongdb, redis, Tokyo Tyrant”都是知名的NoSQL数据库系统,它们在现代互联网应用中被广泛使用。这篇博文很可能是关于如何在操作系统环境下安装和使用这四种数据库的教程。 1. **Memcached**...
Tokyo Cabinet 和 Tokyo Tyrant 是一组开源的数据库管理系统,由日本公司 Resin Software 开发,主要用于数据存储和检索。这两个工具在IT领域中被广泛应用于日志管理、缓存服务、键值对存储等场景,尤其在需要快速...
6. **网络通信协议**:Tokyo Tyrant使用自定义的简单网络协议,允许客户端通过TCP/IP连接进行通信,降低了与其他系统的集成难度。 7. **副本集**:Tokyo Tyrant可以通过配置副本集来提高数据的可用性和容错性,当主...
从给出的信息来看,它可能是Tokyo Tyrant的一个特定版本,因为压缩包中的文件名为"tokyotyrant-1.1.41"。Tokyo Tyrant是一个轻量级、高性能的键值存储系统,常用于数据缓存和快速查找应用。 Tokyo Tyrant主要知识点...
一个小型快速数据库的安装使用及原理介绍。
#资源达人分享计划#
标题 "tokyoCabinet及tokyoTyrant简介" 指向了两个与数据库管理相关的开源工具,Tokyo Cabinet和Tokyo Tyrant。这两个工具由日本开发者开发,主要用于小型到中型的数据存储,尤其适合那些对数据读写速度有较高要求的...
宫崎电阻描述: MiyazakiResistance是一个类似于ActiveRecord的库,可以使用Tokyo Tyrant。 宫崎县抵抗支持师傅/奴隶。 如果从服务器关闭,它将自动分离。 宫崎骏电阻支持双主控(主动/待机)。 如果活动服务器关闭...
Tokyo Tyrant 是 Tokyo Cabinet 的网络接口,它提供了一个简单易用的服务器端程序,允许远程客户端通过TCP/IP协议进行数据操作。"tokyocabinet-1.4.27.tar" 是 Tokyo Cabinet 的源代码压缩包,版本号为1.4.27。这个...
Tokyo Cabinet具有高性能和多种存储引擎选择,Tokyo Tyrant则通过热备份、update log和异步复制提高可用性,并允许通过Lua脚本进行原子性操作。 3. MongoDB:MongoDB是一个面向文档的数据库,支持无固定规格的JSON...
主要功能: 服务器参数监控:STATS、SETTINGS、ITEMS、SLABS、SIZES实时刷新 服务器性能监控:GET、... 兼容memcache协议的其他服务,如Tokyo Tyrant (遍历功能除外) 支持服务器连接池,多服务器管理切换方便简洁
MemAdmin主要功能: 服务器参数监控:STATS、SETTINGS、ITEMS、SLABS、SIZES实时刷新 ...兼容memcache协议的其他服务,如Tokyo Tyrant (遍历功能除外) 支持服务器连接池,多服务器管理切换方便简洁
总的来说,`asynctnt-1.0b2-cp35-cp35m-manylinux1_i686.whl`是一个适用于Python 3.5的32位Linux系统的异步TNT客户端库,旨在简化与Tokyo Tyrant数据库的交互,并通过异步API提供高性能的I/O操作。如果你的项目中...
1. **高并发读写**:在高流量的Web应用中,NoSQL的键值对数据库(如TC/TT中的Tokyo Cabinet和Tokyo Tyrant)能够提供快速的读写性能,适合对数据库进行频繁的读取和更新操作。 2. **海量数据存储和访问**:文档型...
如今,越来越多的 Web 应用程序开始...而日本的 mixi(http://mixi.jp)则在这方面走在了前面,不仅大规模使用 memcached 作为缓存来加速 Web 应用,而且自行开发了 Tokyo Cabinit、Tokyo Tyrant 等一系列相关的软件。
Pandas是Python编程语言中广泛使用的数据处理和分析工具,而TD则是Tokyo Tyrant或 Treasure Data 的简称,这是一个云原生的数据仓库服务,常用于大规模数据处理和分析。这个压缩包可能包含了将Pandas与TD集成的代码...
Tokyo Cabinet虽然不再更新,但它有一个类似项目Tokyo Tyrant,提供了更高级的功能,如网络服务器接口。社区仍然活跃,开发者可以通过文档和论坛获取帮助。 总的来说,Tokyo Cabinet是一款强大的键值存储系统,凭借...
TT Server 是一款基于 Tokyo Cabinet 和 Tokyo Tyrant 的高性能键值存储系统,主要服务于开发和运维人员,用于数据存储和快速检索。本文将详细介绍TT Server的安装、常用命令以及服务管理。 ### 一、安装步骤 1. *...