syntax = "proto3"; package redisrpc; // 使用key查询 message GetRequest { string key = 1; } // 设置key message SetRequest { string key = 1; string value = 2; int64 ttl = 3; } message DelRequest { string key = 1; } // 使用hash key查询 message HGetRequest { string key = 1; string field = 2; } // 设置hash key message HSetRequest { string key = 1; string field = 2; string value = 3; } // 删除hash key message HDelRequest { string key = 1; string field = 2; } //有效期 message SetExpireRequest { string key = 1; int64 expire = 2; } // 使用key查询响应结构 message GetStringResponse { string value = 1; } // 使用key查询响应结构 message HGetListResponse { bytes list = 1; } // 设置key响应结构 message SetResponse { string ret = 1; } // 删除key响应结构 message DelResponse { int64 ret = 1; } // 设置key响应结构 message HSetResponse { int64 ret = 1; } // 设置key有效期 message SetExpireResponse { int64 ret = 1; } //集合添加值 message SSetRequest{ string key = 1; string field = 2; } //集合添加值 message SMembersRequest{ string key = 1; } // 设置响应结构 message SSetResponse { int64 ret = 1; } //列表添加值 message LSetRequest{ string key = 1; string field = 2; } // 设置key响应结构 message LSetResponse { int64 ret = 1; } //列表取值 message LRangeRequest{ string key = 1; int64 start = 2; int64 stop = 3; } //列表长度 message LLenRequest{ string key = 1; } // rpc方法 service RedisService { rpc Get (GetRequest) returns (GetStringResponse); // 使用key查询 rpc Set (SetRequest) returns (SetResponse); rpc SetNx (SetRequest) returns (DelResponse); // 如果不存在则设置 rpc Del (DelRequest) returns (DelResponse); rpc HGet (HGetRequest) returns (GetStringResponse); // 使用hash key查询 rpc HSet (HSetRequest) returns (HSetResponse); rpc HDel (HDelRequest) returns (DelResponse); rpc SetExpire (SetExpireRequest) returns (SetExpireResponse); //设置有效期 rpc HGetAll(GetRequest) returns (HGetListResponse); //get hash all rpc HGetList(GetRequest) returns (HGetListResponse); //get hash all rpc HExists(HGetRequest) returns (DelResponse); //hash键是否存在 rpc Exists(GetRequest) returns (DelResponse); //键是否存在 rpc HIncrby(HSetRequest) returns (HSetResponse); //hash数值+-1 rpc SAdd(SSetRequest) returns (SSetResponse); //添加进入集合 rpc SIsmember(SSetRequest) returns (SSetResponse); //集合中是否存在值 rpc SRem(SSetRequest) returns (SSetResponse); //集合中删除值 rpc LLpush(LSetRequest) returns (LSetResponse); //列表头部增加值 rpc LRpush(LSetRequest) returns (LSetResponse); //列表尾部增加值 rpc LRange(LRangeRequest) returns (HGetListResponse); //列表尾部增加值 rpc LLen(LLenRequest) returns (LSetResponse); //列表长度 rpc ReduceStock(SetRequest) returns(SetResponse);//扣减库存 }