syntax = "proto3"; package redis_grpc; service RedisGrpc { rpc Command (CommandRequest) returns (CommandResponse); rpc Subscribe (SubscribeRequest) returns (stream SubscribeResponse); rpc Publish (PublishRequest) returns (PublishResponse); rpc Keys (KeysRequest) returns (KeysResponse); rpc Set (SetRequest) returns (SetResponse); rpc Get (GetRequest) returns (GetResponse); } message KeysRequest { string pattern = 1; } message KeysResponse { bool success = 1; string error = 2; repeated string result = 3; } message SubscribeRequest { repeated string channels = 1; } message SubscribeResponse { string channel = 1; string message = 2; } message PublishRequest { string channel = 1; string message = 2; } message PublishResponse { int64 result = 1; } message CommandRequest { string command = 1; } message CommandResponse { string message = 1; } message SetRequest { string key = 1; string value = 2; } message SetResponse { bool success = 1; string error = 2; string result = 3; } message GetRequest { string key = 1; } message GetResponse { bool success = 1; string error = 2; string result = 3; }