google protocol buffer 可以将对象序列化,而redis作为优秀的NOSQL数据库,这里我将以实例方式介绍,将C++对象序列化,并存放在redis数据库中!
google protocol buffer 的安装以及基础使用可以阅读我上一片文章.
redis的安装使用,可以查阅,这里不再描述.我使用redis的官方C client: hiredis.
protobuf 对象模型:
package cn.vicky.model.seri;
message User {
required int32 id = 1; // 主键,唯一
required string username = 2; // 帐号
required string password = 3; // 密码
optional string email = 4; // 邮箱(可选)
repeated Person person = 5; // 账户拥有的角色(可以重复)
}
message Person {
required int32 id = 1; // 主键,唯一
required string name = 2; // 角色名字
repeated PhoneNumber phone = 3; // 电话号码(可以重复)
}
// 枚举类型
enum PhoneType {
MOBILE = 0;
HOME = 1;
WORK = 2;
}
message PhoneNumber {
required string number = 1;
optional PhoneType type = 2 [default = HOME];
}
创建工程:
在生成对应的model.pb.h model.pb.cc 更多请阅