`

Thrift的数据类型

 
阅读更多

转载自:http://blog.163.com/kewangwu@126/blog/static/86728471201271353354581/

 

要编写Thrift定义文件,肯定要熟悉Thrift常见的数据类型:

1.基本类型(括号内为对应的Java类型):
bool(boolean): 布尔类型(TRUE or FALSE)
byte(byte): 8位带符号整数
i16(short): 16位带符号整数
i32(int): 32位带符号整数
i64(long): 64位带符号整数
double(double): 64位浮点数
string(String): 采用UTF-8编码的字符串

2.特殊类型(括号内为对应的Java类型):
binary(ByteBuffer):未经过编码的字节流

3.Structs(结构):
struct定义了一个很普通的OOP对象,但是没有继承特性。

struct UserProfile {
1: i32 uid,
2: string name,
3: string blurb
}

如果变量有默认值,可以直接写在定义文件里:

struct UserProfile {
1: i32 uid = 1,
2: string name = "User1",
3: string blurb
}

4.容器,除了上面提到的基本数据类型,Thrift还支持以下容器类型:
list(java.util.ArrayList):
set(java.util.HashSet):
map(java.util.HashMap):

用法如下:

struct Node {
1: i32 id,
2: string name,
3: list<i32> subNodeList,
4: map<i32,string> subNodeMap,
5: set<i32> subNodeSet
}

包含定义的其他Object:

struct SubNode {
1: i32 uid,
2: string name,
3: i32 pid
}

 

struct Node {
1: i32 uid,
2: string name,
3: list<subNode> subNodes
}

5.Services服务,也就是对外展现的接口:

service UserStorage {
void store(1: UserProfile user),
UserProfile retrieve(1: i32 uid)
}

分享到:
评论

相关推荐

    Thrift编译库(编译器VS2010+SP1)

    1. 接口定义语言(IDL):Thrift IDL文件使用.thrift扩展名,用于定义服务接口、数据类型以及这些接口的调用方式。例如,你可以定义一个服务,包含若干方法,以及这些方法的输入和输出参数,这些定义会被转换为特定...

    藏经阁-HBase多语言访问.pdf

    HBase使用Thrift Types定义了其Thrift数据类型,包括基本类型、结构体类型和容器类型等。Thrift Types可以根据需要选择,例如integer用于整数类型,string用于字符串类型等。 七、HBase.thrift HBase.thrift文件是...

    Apache Thrift.rar+RPC+微服务+异步通信+安全认证+服务发现等

    Thrift数据类型与IDL理解 Thrift服务定义与实现 Thrift跨语言服务开发实践 Thrift编译器与代码生成 Thrift客户端与服务器端通信 Thrift异常处理与错误码 Thrift性能优化与调优 Thrift与RPC原理深入解析 Thrift在...

    thrift初步了解

    可定义的数据类型: 基本类型: bool:布尔值,true 或 false,对应 Java 的 boolean byte:8 位有符号整数,对应 Java 的 byte i16:16 位有符号整数,对应 Java 的 short i32:32 位有符号整数,对应 Java 的 int ...

    使用wireshark抓取thrift协议接口调用

    Thrift是一种高效的跨语言服务开发框架,由Facebook开源,它通过定义服务接口和数据类型,生成不同语言的客户端和服务器代码,实现高效的数据传输。 本篇我们将深入探讨如何使用Wireshark抓取和解析Thrift协议接口...

    thrift实现http协议案例

    Thrift基于接口描述语言(IDL),开发者可以在IDL文件中定义服务接口和数据类型。例如: ```thrift service MyService { string echo(1: string msg) } ``` 这个服务定义了一个名为`echo`的方法,接受一个字符串...

    thrift-0.10.0.exe

    Thrift是一个软件框架,用来进行...thrift允许你定义一个简单的定义文件中的数据类型和服务接口。以作为输入文件,编译器生成代码用来方便地生成RPC客户端和服务器通信的无缝跨编程语言。 官网地址:thrift.apache.org

    thrift开源项目研究

    1. IDL(Interface Definition Language):Thrift使用IDL文件定义服务接口和数据类型,类似于protobuf的.proto文件。 2. 编译器:Thrift编译器将IDL文件转换为各种目标语言(如Java、Python、C++等)的代码,包括...

    thrift入门学习教程

    - **TProtocol**:定义了Thrift数据的序列化和反序列化方式。 - **TTransport**:负责数据的实际传输。 - **底层I/O通信**:提供了各种网络传输方式,如TCP、UDP等。 **3. 数据类型** Thrift支持以下几种数据类型...

    thrift详解

    用户通过定义 .thrift 文件来指定数据类型和服务接口,然后使用 Thrift 编译器生成特定语言的客户端和服务端代码。例如,可以使用以下命令来生成 Java 代码: ``` thrift-0.9.3.exe -r -gen java TestThrift.thrift...

    thrift-Demo

    在Thrift中,我们首先需要创建一个`.thrift`文件,这个文件定义了服务的接口和数据类型。例如,你可以定义一个简单的服务,包含一个远程调用的方法,以及一些基本的数据结构,如结构体(struct)或枚举(enum)。...

    thrift初级入门教程

    通过统一的数据类型和协议定义,Thrift 使得开发者能够在多种编程语言之间轻松构建和维护复杂的服务架构。 综上所述,Thrift 不仅仅是一款简单的工具,它还是一套完整的解决方案,旨在帮助开发者快速构建可靠的服务...

    thrift-delphi实例

    同时,Thrift还具有良好的扩展性,可以方便地添加新的服务和数据类型,使得Delphi开发的系统能够无缝地与其他语言的系统进行交互。 总之,Thrift Delphi实例是一个极好的学习资源,它揭示了跨语言服务通信的核心...

    thrift安装

    3. **易于使用**:通过Thrift IDL,开发者可以定义数据类型和服务接口,Thrift会自动生成相应的代码,大大简化了开发工作。 4. **服务治理**:Thrift提供了服务注册与发现、负载均衡、容错处理等高级特性,便于构建...

    thrift入门

    Thrift 的数据类型主要包括基本类型(Base Types)、结构体类型(Struct)、容器类型(Container)、异常类型(Exception)和服务类型(Service)。Thrift 可以让你选择客户端与服务端之间传输通信协议的类别,包括...

    thrift 0.9.2

    Thrift 允许开发者定义服务接口、数据类型和服务行为,然后自动生成针对多种编程语言的代码,以便于在不同的系统之间实现无缝的数据交换和服务调用。 1. 数据序列化:Thrift 提供了一种高效的二进制序列化格式,...

    maven-thrift-server

    它允许定义数据类型和服务接口,然后自动生成各种编程语言的代码,使得不同语言的系统之间可以进行无缝通信。Maven作为Java项目管理工具,是构建、管理和集成项目的利器。当两者结合,可以方便地构建Thrift服务器端...

    Thrift 示例代码_Java

    Thrift 提供了丰富的数据类型,包括基本类型(如 int, string)、结构体(struct)、枚举(enum)、异常(exception)以及服务(service)。 在 `thriftTest` 这个压缩包中,通常会包含以下组件: 1. **IDL 文件**...

Global site tag (gtag.js) - Google Analytics