Configures and manages Cloud Memorystore for Redis clusters.
Google Cloud Memorystore for Redis Cluster
The redis.googleapis.com
service implements the Google Cloud Memorystore for Redis API and defines the following resource model for managing Redis clusters:
- The service works with a collection of cloud projects, named:
/projects/*
- Each project has a collection of available locations, named:
/locations/*
- Each location has a collection of Redis clusters, named:
/clusters/*
- As such, Redis clusters are resources of the form:
/projects/{project_id}/locations/{location_id}/clusters/{instance_id}
Note that location_id must be a GCP region
; for example:
projects/redpepper-1290/locations/us-central1/clusters/my-redis
We use API version selector for Flex APIs
- The versioning strategy is release-based versioning
- Our backend CLH only deals with the superset version (called v1main)
- Existing backend for Redis Gen1 and MRR is not touched.
- More details in go/redis-flex-api-versioning
Equality
Instances of this class created via copy-construction or copy-assignment always compare equal. Instances created with equal std::shared_ptr<*Connection>
objects compare equal. Objects that compare equal share the same underlying resources.
Performance
Creating a new instance of this class is a relatively expensive operation, new objects establish new connections to the service. In contrast, copy-construction, move-construction, and the corresponding assignment operations are relatively efficient as the copies share all underlying resources.
Thread Safety
Concurrent access to different instances of this class, even if they compare equal, is guaranteed to work. Two or more threads operating on the same instance of this class is not guaranteed to work. Since copy-construction and move-construction is a relatively efficient operation, consider using such a copy when using this class from multiple threads.
Constructors
CloudRedisClusterClient(CloudRedisClusterClient const &)
Copy and move support
Parameter | |
---|---|
Name | Description |
|
CloudRedisClusterClient const &
|
CloudRedisClusterClient(CloudRedisClusterClient &&)
Copy and move support
Parameter | |
---|---|
Name | Description |
|
CloudRedisClusterClient &&
|
CloudRedisClusterClient(std::shared_ptr< CloudRedisClusterConnection >, Options)
Parameters | |
---|---|
Name | Description |
connection |
std::shared_ptr< CloudRedisClusterConnection >
|
opts |
Options
|
Operators
operator=(CloudRedisClusterClient const &)
Copy and move support
Parameter | |
---|---|
Name | Description |
|
CloudRedisClusterClient const &
|
Returns | |
---|---|
Type | Description |
CloudRedisClusterClient & |
operator=(CloudRedisClusterClient &&)
Copy and move support
Parameter | |
---|---|
Name | Description |
|
CloudRedisClusterClient &&
|
Returns | |
---|---|
Type | Description |
CloudRedisClusterClient & |
Functions
ListClusters(std::string const &, Options)
Lists all Redis clusters owned by a project in either the specified location (region) or all locations.
The location should have the following format:
projects/{project_id}/locations/{location_id}
If location_id
is specified as -
(wildcard), then all regions available to the project are queried, and the results are aggregated.
Parameters | |
---|---|
Name | Description |
parent |
std::string const &
Required. The resource name of the cluster location using the form: |
opts |
Options
Optional. Override the class-level options, such as retry and backoff policies. |
Returns | |
---|---|
Type | Description |
StreamRange< google::cloud::redis::cluster::v1::Cluster > | a StreamRange to iterate of the results. See the documentation of this type for details. In brief, this class has |
ListClusters(google::cloud::redis::cluster::v1::ListClustersRequest, Options)
Lists all Redis clusters owned by a project in either the specified location (region) or all locations.
The location should have the following format:
projects/{project_id}/locations/{location_id}
If location_id
is specified as -
(wildcard), then all regions available to the project are queried, and the results are aggregated.
Parameters | |
---|---|
Name | Description |
request |
google::cloud::redis::cluster::v1::ListClustersRequest
Unary RPCs, such as the one wrapped by this function, receive a single |
opts |
Options
Optional. Override the class-level options, such as retry and backoff policies. |
Returns | |
---|---|
Type | Description |
StreamRange< google::cloud::redis::cluster::v1::Cluster > | a StreamRange to iterate of the results. See the documentation of this type for details. In brief, this class has |
GetCluster(std::string const &, Options)
Gets the details of a specific Redis cluster.
Parameters | |
---|---|
Name | Description |
name |
std::string const &
Required. Redis cluster resource name using the form: |
opts |
Options
Optional. Override the class-level options, such as retry and backoff policies. |
Returns | |
---|---|
Type | Description |
StatusOr< google::cloud::redis::cluster::v1::Cluster > | the result of the RPC. The response message type (google.cloud.redis.cluster.v1.Cluster) is mapped to a C++ class using the Protobuf mapping rules. If the request fails, the |
GetCluster(google::cloud::redis::cluster::v1::GetClusterRequest const &, Options)
Gets the details of a specific Redis cluster.
Parameters | |
---|---|
Name | Description |
request |
google::cloud::redis::cluster::v1::GetClusterRequest const &
Unary RPCs, such as the one wrapped by this function, receive a single |
opts |
Options
Optional. Override the class-level options, such as retry and backoff policies. |
Returns | |
---|---|
Type | Description |
StatusOr< google::cloud::redis::cluster::v1::Cluster > | the result of the RPC. The response message type (google.cloud.redis.cluster.v1.Cluster) is mapped to a C++ class using the Protobuf mapping rules. If the request fails, the |
UpdateCluster(google::cloud::redis::cluster::v1::Cluster const &, google::protobuf::FieldMask const &, Options)
Updates the metadata and configuration of a specific Redis cluster.
Completed longrunning.Operation will contain the new cluster object in the response field. The returned operation is automatically deleted after a few hours, so there is no need to call DeleteOperation.
Parameters | |
---|---|
Name | Description |
cluster |
google::cloud::redis::cluster::v1::Cluster const &
Required. Update description. Only fields specified in update_mask are updated. |
update_mask |
google::protobuf::FieldMask const &
Required. Mask of fields to update. At least one path must be supplied in this field. The elements of the repeated paths field may only include these fields from Cluster:
|
opts |
Options
Optional. Override the class-level options, such as retry and backoff policies. |
Returns | |
---|---|
Type | Description |
future< StatusOr< google::cloud::redis::cluster::v1::Cluster > > | A |
UpdateCluster(google::cloud::redis::cluster::v1::UpdateClusterRequest const &, Options)
Updates the metadata and configuration of a specific Redis cluster.
Completed longrunning.Operation will contain the new cluster object in the response field. The returned operation is automatically deleted after a few hours, so there is no need to call DeleteOperation.
Parameters | |
---|---|
Name | Description |
request |
google::cloud::redis::cluster::v1::UpdateClusterRequest const &
Unary RPCs, such as the one wrapped by this function, receive a single |
opts |
Options
Optional. Override the class-level options, such as retry and backoff policies. |
Returns | |
---|---|
Type | Description |
future< StatusOr< google::cloud::redis::cluster::v1::Cluster > > | A |
DeleteCluster(std::string const &, Options)
Deletes a specific Redis cluster.
Cluster stops serving and data is deleted.
Parameters | |
---|---|
Name | Description |
name |
std::string const &
Required. Redis cluster resource name using the form: |
opts |
Options
Optional. Override the class-level options, such as retry and backoff policies. |
Returns | |
---|---|
Type | Description |
future< StatusOr< google::protobuf::Any > > | A |
DeleteCluster(google::cloud::redis::cluster::v1::DeleteClusterRequest const &, Options)
Deletes a specific Redis cluster.
Cluster stops serving and data is deleted.
Parameters | |
---|---|
Name | Description |
request |
google::cloud::redis::cluster::v1::DeleteClusterRequest const &
Unary RPCs, such as the one wrapped by this function, receive a single |
opts |
Options
Optional. Override the class-level options, such as retry and backoff policies. |
Returns | |
---|---|
Type | Description |
future< StatusOr< google::protobuf::Any > > | A |
CreateCluster(std::string const &, google::cloud::redis::cluster::v1::Cluster const &, std::string const &, Options)
Creates a Redis cluster based on the specified properties.
The creation is executed asynchronously and callers may check the returned operation to track its progress. Once the operation is completed the Redis cluster will be fully functional. The completed longrunning.Operation will contain the new cluster object in the response field.
The returned operation is automatically deleted after a few hours, so there is no need to call DeleteOperation.
Parameters | |
---|---|
Name | Description |
parent |
std::string const &
Required. The resource name of the cluster location using the form: |
cluster |
google::cloud::redis::cluster::v1::Cluster const &
Required. The cluster that is to be created. |
cluster_id |
std::string const &
Required. The logical name of the Redis cluster in the customer project with the following restrictions:
|
opts |
Options
Optional. Override the class-level options, such as retry and backoff policies. |
Returns | |
---|---|
Type | Description |
future< StatusOr< google::cloud::redis::cluster::v1::Cluster > > | A |
CreateCluster(google::cloud::redis::cluster::v1::CreateClusterRequest const &, Options)
Creates a Redis cluster based on the specified properties.
The creation is executed asynchronously and callers may check the returned operation to track its progress. Once the operation is completed the Redis cluster will be fully functional. The completed longrunning.Operation will contain the new cluster object in the response field.
The returned operation is automatically deleted after a few hours, so there is no need to call DeleteOperation.
Parameters | |
---|---|
Name | Description |
request |
google::cloud::redis::cluster::v1::CreateClusterRequest const &
Unary RPCs, such as the one wrapped by this function, receive a single |
opts |
Options
Optional. Override the class-level options, such as retry and backoff policies. |
Returns | |
---|---|
Type | Description |
future< StatusOr< google::cloud::redis::cluster::v1::Cluster > > | A |