1
0
mirror of https://github.com/go-micro/go-micro.git synced 2025-01-05 10:20:53 +02:00
go-micro/examples/cache/proto/cache.proto
2021-09-01 10:08:43 +01:00

47 lines
1.1 KiB
Protocol Buffer

syntax = "proto3";
package cache;
option go_package = "./proto;cache";
// Cache offers a cache as a service functionality.
service Cache {
// Get receives a value and its time to live by key from the cache.
rpc Get(GetRequest) returns (GetResponse) {}
// Put stores a value and its time to live in the cache.
rpc Put(PutRequest) returns (PutResponse) {}
// Delete removes a key from the cache.
rpc Delete(DeleteRequest) returns (DeleteResponse) {}
}
message GetRequest {
// The key to fetch from the cache.
string key = 1;
}
message GetResponse {
// The value retrieved from the cache.
string value = 1;
// The value's expiration datetime.
string expiration = 2;
}
message PutRequest {
// The key to store in the cache.
string key = 1;
// The value to store in the cache.
string value = 2;
// The value's time to live. Parsed using time.ParseDuration. 0 means
// it doesn't expire.
string duration = 3;
}
message PutResponse {}
message DeleteRequest {
// The key to remove from the cache.
string key = 1;
}
message DeleteResponse {}