protobuf 设计,避免频繁打包更新

简介: protobuf 设计,避免频繁打包更新

1.原始

syntax="proto3";
option java_package = "com.vince.xq";
option java_multiple_files=true;
option java_outer_classname="Profile";
message UserProfile {
  int32 id = 1;
  int32 age = 2;
  int32 sex = 3;
  optional Profile profile_1=4;
}
message Profile{
string name;
string update_time;
}

新增标签

optional Profile profile_1=4;

需要打包

2.修改后

syntax = "proto3";
package com.test.xq.schema;
option java_generate_equals_and_hash = true;
message Model {
    string face_id = 1; 
    string user_id = 2; 
    map tag = 3; // 标签值,key为tag_id,value为标签取值详情
}
message Tag {
    message TagInfo {
        string value = 1; // 标签具体的取值,存放挖掘好的标签结果值
        int32 score = 2; // 标签分值字段,0-100的分值
        map extend_info = 3; // 扩展字段,存放额外的标签信息
        string label = 4; //标签的分类
    }
    repeated TagInfo tag_info = 2; //  标签值是一个list
}

有多少个标签可以保存在数据库里面

优点:避免每次上线打包

 


相关文章
|
Java Maven
springboot依赖分离,本地代码和第三方依赖包分开,减少部署服务时的上传时间
在pom.xml中的<build>标签中的<plugins>标签中添加下面这个插件
|
JavaScript 开发者
Vite 在运行过程中是如何发现新增依赖的?
Vite 在运行过程中是如何发现新增依赖的?
246 0
|
编译器 C语言 C++
g++命令编译出来的文件体积过大解决方案
g++命令编译出来的文件体积过大解决方案
546 0
|
C++ Python Java
protobuf 更新消息和扩展,包
一、更新一个消息类型 如果一个已有的消息格式已无法满足新的需求——如,要在消息中添加一个额外的字段——但是同时旧版本写的代码仍然可用。不用担心!更新消息而不破坏已有代码是非常简单的。
1346 0
|
存储 自然语言处理 算法
4.1 打包和压缩的概念和区别
在讲解具体的归档命令和压缩命令之前,先来了解一下归档和压缩所各自代表的含义。
252 0
4.1 打包和压缩的概念和区别
|
缓存 自然语言处理 NoSQL
一对一源码的缓存开发,并非你想的那么简单
一对一源码的缓存开发,并非你想的那么简单
|
Java C++
protobuf 文件级别优化
protobuf 文件级别优化
633 0
|
前端开发 JavaScript 数据格式
gulp之自动化静态资源压缩合并加版本号
gulp之自动化压缩合并加版本号 这个方案主要是为了实现js/css/image的压缩合并、自动添加版本号、自动加浏览器前缀和压缩html。 先把下面这里插件 npm i (插件名) -D 安装到项目环境内 gulp-sequence //顺序执行任务 gulp-csso //css压缩 gulp...
1873 0
|
C++ 数据库
VS2010每次编译都重新编译整个工程的解决方案
在使用VS2010编译C++程序的时候,每次修改工程中的某一个文件,点击“生成-仅用于项目-仅生成**”时,往往都是整个工程都需要重新编译一遍。由于这个工程代码量太大,每次编译完成都需要将近10分钟左右的时间编译。
1483 0

热门文章

最新文章