Class CloudRedisClient (2.2.0)

publicclass CloudRedisClientimplementsBackgroundResource

Service Description: Configures and manages Cloud Memorystore for Redis instances

Google Cloud Memorystore for Redis v1

The redis.googleapis.com service implements the Google Cloud Memorystore for Redis API and defines the following resource model for managing Redis instances:

  • 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 instances, named: /instances/*
  • As such, Redis instances are resources of the form: /projects/{project_id}/locations/{location_id}/instances/{instance_id}

Note that location_id must be referring to a GCP region; for example:

  • projects/redpepper-1290/locations/us-central1/instances/my-redis

This class provides the ability to make remote calls to the backing service through method calls that map to API methods. Sample code to get started:


try(CloudRedisClientcloudRedisClient=CloudRedisClient.create()){
InstanceNamename=InstanceName.of("[PROJECT]","[LOCATION]","[INSTANCE]");
Instanceresponse=cloudRedisClient.getInstance(name);
}

Note: close() needs to be called on the CloudRedisClient object to clean up resources such as threads. In the example above, try-with-resources is used, which automatically calls close().

The surface of this class includes several types of Java methods for each of the API's methods:

  1. A "flattened" method. With this type of method, the fields of the request type have been converted into function parameters. It may be the case that not all fields are available as parameters, and not every API method will have a flattened method entry point.
  2. A "request object" method. This type of method only takes one parameter, a request object, which must be constructed before the call. Not every API method will have a request object method.
  3. A "callable" method. This type of method takes no parameters and returns an immutable API callable object, which can be used to initiate calls to the service.

See the individual methods for example code.

Many parameters require resource names to be formatted in a particular way. To assist with these names, this class includes a format method for each type of name, and additionally a parse method to extract the individual identifiers contained within names that are returned.

This class can be customized by passing in a custom instance of CloudRedisSettings to create(). For example:

To customize credentials:


CloudRedisSettingscloudRedisSettings=
CloudRedisSettings.newBuilder()
.setCredentialsProvider(FixedCredentialsProvider.create(myCredentials))
.build();
CloudRedisClientcloudRedisClient=CloudRedisClient.create(cloudRedisSettings);

To customize the endpoint:


CloudRedisSettingscloudRedisSettings=
CloudRedisSettings.newBuilder().setEndpoint(myEndpoint).build();
CloudRedisClientcloudRedisClient=CloudRedisClient.create(cloudRedisSettings);

Please refer to the GitHub repository's samples for more quickstart code snippets.

Inheritance

java.lang.Object > CloudRedisClient

Implements

BackgroundResource

Static Methods

create()

publicstaticfinalCloudRedisClientcreate()

Constructs an instance of CloudRedisClient with default settings.

Returns
Type Description
Exceptions
Type Description

create(CloudRedisSettings settings)

publicstaticfinalCloudRedisClientcreate(CloudRedisSettingssettings)

Constructs an instance of CloudRedisClient, using the given settings. The channels are created based on the settings passed in, or defaults for any settings that are not set.

Parameter
Name Description
Returns
Type Description
Exceptions
Type Description

create(CloudRedisStub stub)

publicstaticfinalCloudRedisClientcreate(CloudRedisStubstub)

Constructs an instance of CloudRedisClient, using the given stub for making calls. This is for advanced usage - prefer using create(CloudRedisSettings).

Parameter
Name Description
Returns
Type Description

Constructors

CloudRedisClient(CloudRedisSettings settings)

protectedCloudRedisClient(CloudRedisSettingssettings)

Constructs an instance of CloudRedisClient, using the given settings. This is protected so that it is easy to make a subclass, but otherwise, the static factory methods should be preferred.

Parameter
Name Description

CloudRedisClient(CloudRedisStub stub)

protectedCloudRedisClient(CloudRedisStubstub)
Parameter
Name Description

Methods

awaitTermination(long duration, TimeUnit unit)

publicbooleanawaitTermination(longduration,TimeUnitunit)
Parameters
Name Description
duration long
unit TimeUnit
Returns
Type Description
Exceptions
Type Description

close()

publicfinalvoidclose()

createInstanceAsync(CreateInstanceRequest request)

publicfinalOperationFuture<Instance,OperationMetadata>createInstanceAsync(CreateInstanceRequestrequest)

Creates a Redis instance based on the specified tier and memory size.

By default, the instance is accessible from the project's default network.

The creation is executed asynchronously and callers may check the returned operation to track its progress. Once the operation is completed the Redis instance will be fully functional. Completed longrunning.Operation will contain the new instance object in the response field.

The returned operation is automatically deleted after a few hours, so there is no need to call DeleteOperation.

Sample code:


try(CloudRedisClientcloudRedisClient=CloudRedisClient.create()){
CreateInstanceRequestrequest=
CreateInstanceRequest.newBuilder()
.setParent(LocationName.of("[PROJECT]","[LOCATION]").toString())
.setInstanceId("instanceId902024336")
.setInstance(Instance.newBuilder().build())
.build();
Instanceresponse=cloudRedisClient.createInstanceAsync(request).get();
}
Parameter
Name Description
request CreateInstanceRequest

The request object containing all of the parameters for the API call.

Returns
Type Description

createInstanceAsync(LocationName parent, String instanceId, Instance instance)

publicfinalOperationFuture<Instance,OperationMetadata>createInstanceAsync(LocationNameparent,StringinstanceId,Instanceinstance)

Creates a Redis instance based on the specified tier and memory size.

By default, the instance is accessible from the project's default network.

The creation is executed asynchronously and callers may check the returned operation to track its progress. Once the operation is completed the Redis instance will be fully functional. Completed longrunning.Operation will contain the new instance object in the response field.

The returned operation is automatically deleted after a few hours, so there is no need to call DeleteOperation.

Sample code:


try(CloudRedisClientcloudRedisClient=CloudRedisClient.create()){
LocationNameparent=LocationName.of("[PROJECT]","[LOCATION]");
StringinstanceId="instanceId902024336";
Instanceinstance=Instance.newBuilder().build();
Instanceresponse=cloudRedisClient.createInstanceAsync(parent,instanceId,instance).get();
}
Parameters
Name Description
parent LocationName

Required. The resource name of the instance location using the form: projects/{project_id}/locations/{location_id} where location_id refers to a GCP region.

instanceId String

Required. The logical name of the Redis instance in the customer project with the following restrictions:

  • Must contain only lowercase letters, numbers, and hyphens.
  • Must start with a letter.
  • Must be between 1-40 characters.
  • Must end with a number or a letter.
  • Must be unique within the customer project / location
instance Instance

Required. A Redis [Instance] resource

Returns
Type Description

createInstanceAsync(String parent, String instanceId, Instance instance)

publicfinalOperationFuture<Instance,OperationMetadata>createInstanceAsync(Stringparent,StringinstanceId,Instanceinstance)

Creates a Redis instance based on the specified tier and memory size.

By default, the instance is accessible from the project's default network.

The creation is executed asynchronously and callers may check the returned operation to track its progress. Once the operation is completed the Redis instance will be fully functional. Completed longrunning.Operation will contain the new instance object in the response field.

The returned operation is automatically deleted after a few hours, so there is no need to call DeleteOperation.

Sample code:


try(CloudRedisClientcloudRedisClient=CloudRedisClient.create()){
Stringparent=LocationName.of("[PROJECT]","[LOCATION]").toString();
StringinstanceId="instanceId902024336";
Instanceinstance=Instance.newBuilder().build();
Instanceresponse=cloudRedisClient.createInstanceAsync(parent,instanceId,instance).get();
}
Parameters
Name Description
parent String

Required. The resource name of the instance location using the form: projects/{project_id}/locations/{location_id} where location_id refers to a GCP region.

instanceId String

Required. The logical name of the Redis instance in the customer project with the following restrictions:

  • Must contain only lowercase letters, numbers, and hyphens.
  • Must start with a letter.
  • Must be between 1-40 characters.
  • Must end with a number or a letter.
  • Must be unique within the customer project / location
instance Instance

Required. A Redis [Instance] resource

Returns
Type Description

createInstanceCallable()

publicfinalUnaryCallable<CreateInstanceRequest,Operation>createInstanceCallable()

Creates a Redis instance based on the specified tier and memory size.

By default, the instance is accessible from the project's default network.

The creation is executed asynchronously and callers may check the returned operation to track its progress. Once the operation is completed the Redis instance will be fully functional. Completed longrunning.Operation will contain the new instance object in the response field.

The returned operation is automatically deleted after a few hours, so there is no need to call DeleteOperation.

Sample code:


try(CloudRedisClientcloudRedisClient=CloudRedisClient.create()){
CreateInstanceRequestrequest=
CreateInstanceRequest.newBuilder()
.setParent(LocationName.of("[PROJECT]","[LOCATION]").toString())
.setInstanceId("instanceId902024336")
.setInstance(Instance.newBuilder().build())
.build();
ApiFuture<Operation>future=cloudRedisClient.createInstanceCallable().futureCall(request);
// Do something.
Operationresponse=future.get();
}
Returns
Type Description

createInstanceOperationCallable()

publicfinalOperationCallable<CreateInstanceRequest,Instance,OperationMetadata>createInstanceOperationCallable()

Creates a Redis instance based on the specified tier and memory size.

By default, the instance is accessible from the project's default network.

The creation is executed asynchronously and callers may check the returned operation to track its progress. Once the operation is completed the Redis instance will be fully functional. Completed longrunning.Operation will contain the new instance object in the response field.

The returned operation is automatically deleted after a few hours, so there is no need to call DeleteOperation.

Sample code:


try(CloudRedisClientcloudRedisClient=CloudRedisClient.create()){
CreateInstanceRequestrequest=
CreateInstanceRequest.newBuilder()
.setParent(LocationName.of("[PROJECT]","[LOCATION]").toString())
.setInstanceId("instanceId902024336")
.setInstance(Instance.newBuilder().build())
.build();
OperationFuture
Returns
Type Description

deleteInstanceAsync(DeleteInstanceRequest request)

publicfinalOperationFuture<Empty,OperationMetadata>deleteInstanceAsync(DeleteInstanceRequestrequest)

Deletes a specific Redis instance. Instance stops serving and data is deleted.

Sample code:


try(CloudRedisClientcloudRedisClient=CloudRedisClient.create()){
DeleteInstanceRequestrequest=
DeleteInstanceRequest.newBuilder()
.setName(InstanceName.of("[PROJECT]","[LOCATION]","[INSTANCE]").toString())
.build();
cloudRedisClient.deleteInstanceAsync(request).get();
}
Parameter
Name Description
request DeleteInstanceRequest

The request object containing all of the parameters for the API call.

Returns
Type Description

deleteInstanceAsync(InstanceName name)

publicfinalOperationFuture<Empty,OperationMetadata>deleteInstanceAsync(InstanceNamename)

Deletes a specific Redis instance. Instance stops serving and data is deleted.

Sample code:


try(CloudRedisClientcloudRedisClient=CloudRedisClient.create()){
InstanceNamename=InstanceName.of("[PROJECT]","[LOCATION]","[INSTANCE]");
cloudRedisClient.deleteInstanceAsync(name).get();
}
Parameter
Name Description
name InstanceName

Required. Redis instance resource name using the form: projects/{project_id}/locations/{location_id}/instances/{instance_id} where location_id refers to a GCP region.

Returns
Type Description

deleteInstanceAsync(String name)

publicfinalOperationFuture<Empty,OperationMetadata>deleteInstanceAsync(Stringname)

Deletes a specific Redis instance. Instance stops serving and data is deleted.

Sample code:


try(CloudRedisClientcloudRedisClient=CloudRedisClient.create()){
Stringname=InstanceName.of("[PROJECT]","[LOCATION]","[INSTANCE]").toString();
cloudRedisClient.deleteInstanceAsync(name).get();
}
Parameter
Name Description
name String

Required. Redis instance resource name using the form: projects/{project_id}/locations/{location_id}/instances/{instance_id} where location_id refers to a GCP region.

Returns
Type Description

deleteInstanceCallable()

publicfinalUnaryCallable<DeleteInstanceRequest,Operation>deleteInstanceCallable()

Deletes a specific Redis instance. Instance stops serving and data is deleted.

Sample code:


try(CloudRedisClientcloudRedisClient=CloudRedisClient.create()){
DeleteInstanceRequestrequest=
DeleteInstanceRequest.newBuilder()
.setName(InstanceName.of("[PROJECT]","[LOCATION]","[INSTANCE]").toString())
.build();
ApiFuture<Operation>future=cloudRedisClient.deleteInstanceCallable().futureCall(request);
// Do something.
future.get();
}
Returns
Type Description

deleteInstanceOperationCallable()

publicfinalOperationCallable<DeleteInstanceRequest,Empty,OperationMetadata>deleteInstanceOperationCallable()

Deletes a specific Redis instance. Instance stops serving and data is deleted.

Sample code:


try(CloudRedisClientcloudRedisClient=CloudRedisClient.create()){
DeleteInstanceRequestrequest=
DeleteInstanceRequest.newBuilder()
.setName(InstanceName.of("[PROJECT]","[LOCATION]","[INSTANCE]").toString())
.build();
OperationFuture
Returns
Type Description

exportInstanceAsync(ExportInstanceRequest request)

publicfinalOperationFuture<Instance,OperationMetadata>exportInstanceAsync(ExportInstanceRequestrequest)

Export Redis instance data into a Redis RDB format file in Cloud Storage.

Redis will continue serving during this operation.

The returned operation is automatically deleted after a few hours, so there is no need to call DeleteOperation.

Sample code:


try(CloudRedisClientcloudRedisClient=CloudRedisClient.create()){
ExportInstanceRequestrequest=
ExportInstanceRequest.newBuilder()
.setName("name3373707")
.setOutputConfig(OutputConfig.newBuilder().build())
.build();
Instanceresponse=cloudRedisClient.exportInstanceAsync(request).get();
}
Parameter
Name Description
request ExportInstanceRequest

The request object containing all of the parameters for the API call.

Returns
Type Description

exportInstanceAsync(String name, OutputConfig outputConfig)

publicfinalOperationFuture<Instance,OperationMetadata>exportInstanceAsync(Stringname,OutputConfigoutputConfig)

Export Redis instance data into a Redis RDB format file in Cloud Storage.

Redis will continue serving during this operation.

The returned operation is automatically deleted after a few hours, so there is no need to call DeleteOperation.

Sample code:


try(CloudRedisClientcloudRedisClient=CloudRedisClient.create()){
Stringname="name3373707";
OutputConfigoutputConfig=OutputConfig.newBuilder().build();
Instanceresponse=cloudRedisClient.exportInstanceAsync(name,outputConfig).get();
}
Parameters
Name Description
name String

Required. Redis instance resource name using the form: projects/{project_id}/locations/{location_id}/instances/{instance_id} where location_id refers to a GCP region.

outputConfig OutputConfig

Required. Specify data to be exported.

Returns
Type Description

exportInstanceCallable()

publicfinalUnaryCallable<ExportInstanceRequest,Operation>exportInstanceCallable()

Export Redis instance data into a Redis RDB format file in Cloud Storage.

Redis will continue serving during this operation.

The returned operation is automatically deleted after a few hours, so there is no need to call DeleteOperation.

Sample code:


try(CloudRedisClientcloudRedisClient=CloudRedisClient.create()){
ExportInstanceRequestrequest=
ExportInstanceRequest.newBuilder()
.setName("name3373707")
.setOutputConfig(OutputConfig.newBuilder().build())
.build();
ApiFuture<Operation>future=cloudRedisClient.exportInstanceCallable().futureCall(request);
// Do something.
Operationresponse=future.get();
}
Returns
Type Description

exportInstanceOperationCallable()

publicfinalOperationCallable<ExportInstanceRequest,Instance,OperationMetadata>exportInstanceOperationCallable()

Export Redis instance data into a Redis RDB format file in Cloud Storage.

Redis will continue serving during this operation.

The returned operation is automatically deleted after a few hours, so there is no need to call DeleteOperation.

Sample code:


try(CloudRedisClientcloudRedisClient=CloudRedisClient.create()){
ExportInstanceRequestrequest=
ExportInstanceRequest.newBuilder()
.setName("name3373707")
.setOutputConfig(OutputConfig.newBuilder().build())
.build();
OperationFuture
Returns
Type Description

failoverInstanceAsync(FailoverInstanceRequest request)

publicfinalOperationFuture<Instance,OperationMetadata>failoverInstanceAsync(FailoverInstanceRequestrequest)

Initiates a failover of the primary node to current replica node for a specific STANDARD tier Cloud Memorystore for Redis instance.

Sample code:


try(CloudRedisClientcloudRedisClient=CloudRedisClient.create()){
FailoverInstanceRequestrequest=
FailoverInstanceRequest.newBuilder()
.setName(InstanceName.of("[PROJECT]","[LOCATION]","[INSTANCE]").toString())
.build();
Instanceresponse=cloudRedisClient.failoverInstanceAsync(request).get();
}
Parameter
Name Description
request FailoverInstanceRequest

The request object containing all of the parameters for the API call.

Returns
Type Description

failoverInstanceAsync(InstanceName name, FailoverInstanceRequest.DataProtectionMode dataProtectionMode)

publicfinalOperationFuture<Instance,OperationMetadata>failoverInstanceAsync(InstanceNamename,FailoverInstanceRequest.DataProtectionModedataProtectionMode)

Initiates a failover of the primary node to current replica node for a specific STANDARD tier Cloud Memorystore for Redis instance.

Sample code:


try(CloudRedisClientcloudRedisClient=CloudRedisClient.create()){
InstanceNamename=InstanceName.of("[PROJECT]","[LOCATION]","[INSTANCE]");
FailoverInstanceRequest.DataProtectionModedataProtectionMode=
FailoverInstanceRequest.DataProtectionMode.forNumber(0);
Instanceresponse=cloudRedisClient.failoverInstanceAsync(name,dataProtectionMode).get();
}
Parameters
Name Description
name InstanceName

Required. Redis instance resource name using the form: projects/{project_id}/locations/{location_id}/instances/{instance_id} where location_id refers to a GCP region.

dataProtectionMode FailoverInstanceRequest.DataProtectionMode

Optional. Available data protection modes that the user can choose. If it's unspecified, data protection mode will be LIMITED_DATA_LOSS by default.

Returns
Type Description

failoverInstanceAsync(String name, FailoverInstanceRequest.DataProtectionMode dataProtectionMode)

publicfinalOperationFuture<Instance,OperationMetadata>failoverInstanceAsync(Stringname,FailoverInstanceRequest.DataProtectionModedataProtectionMode)

Initiates a failover of the primary node to current replica node for a specific STANDARD tier Cloud Memorystore for Redis instance.

Sample code:


try(CloudRedisClientcloudRedisClient=CloudRedisClient.create()){
Stringname=InstanceName.of("[PROJECT]","[LOCATION]","[INSTANCE]").toString();
FailoverInstanceRequest.DataProtectionModedataProtectionMode=
FailoverInstanceRequest.DataProtectionMode.forNumber(0);
Instanceresponse=cloudRedisClient.failoverInstanceAsync(name,dataProtectionMode).get();
}
Parameters
Name Description
name String

Required. Redis instance resource name using the form: projects/{project_id}/locations/{location_id}/instances/{instance_id} where location_id refers to a GCP region.

dataProtectionMode FailoverInstanceRequest.DataProtectionMode

Optional. Available data protection modes that the user can choose. If it's unspecified, data protection mode will be LIMITED_DATA_LOSS by default.

Returns
Type Description

failoverInstanceCallable()

publicfinalUnaryCallable<FailoverInstanceRequest,Operation>failoverInstanceCallable()

Initiates a failover of the primary node to current replica node for a specific STANDARD tier Cloud Memorystore for Redis instance.

Sample code:


try(CloudRedisClientcloudRedisClient=CloudRedisClient.create()){
FailoverInstanceRequestrequest=
FailoverInstanceRequest.newBuilder()
.setName(InstanceName.of("[PROJECT]","[LOCATION]","[INSTANCE]").toString())
.build();
ApiFuture<Operation>future=cloudRedisClient.failoverInstanceCallable().futureCall(request);
// Do something.
Operationresponse=future.get();
}
Returns
Type Description

failoverInstanceOperationCallable()

publicfinalOperationCallable<FailoverInstanceRequest,Instance,OperationMetadata>failoverInstanceOperationCallable()

Initiates a failover of the primary node to current replica node for a specific STANDARD tier Cloud Memorystore for Redis instance.

Sample code:


try(CloudRedisClientcloudRedisClient=CloudRedisClient.create()){
FailoverInstanceRequestrequest=
FailoverInstanceRequest.newBuilder()
.setName(InstanceName.of("[PROJECT]","[LOCATION]","[INSTANCE]").toString())
.build();
OperationFuture
Returns
Type Description

getInstance(GetInstanceRequest request)

publicfinalInstancegetInstance(GetInstanceRequestrequest)

Gets the details of a specific Redis instance.

Sample code:


try(CloudRedisClientcloudRedisClient=CloudRedisClient.create()){
GetInstanceRequestrequest=
GetInstanceRequest.newBuilder()
.setName(InstanceName.of("[PROJECT]","[LOCATION]","[INSTANCE]").toString())
.build();
Instanceresponse=cloudRedisClient.getInstance(request);
}
Parameter
Name Description
request GetInstanceRequest

The request object containing all of the parameters for the API call.

Returns
Type Description

getInstance(InstanceName name)

publicfinalInstancegetInstance(InstanceNamename)

Gets the details of a specific Redis instance.

Sample code:


try(CloudRedisClientcloudRedisClient=CloudRedisClient.create()){
InstanceNamename=InstanceName.of("[PROJECT]","[LOCATION]","[INSTANCE]");
Instanceresponse=cloudRedisClient.getInstance(name);
}
Parameter
Name Description
name InstanceName

Required. Redis instance resource name using the form: projects/{project_id}/locations/{location_id}/instances/{instance_id} where location_id refers to a GCP region.

Returns
Type Description

getInstance(String name)

publicfinalInstancegetInstance(Stringname)

Gets the details of a specific Redis instance.

Sample code:


try(CloudRedisClientcloudRedisClient=CloudRedisClient.create()){
Stringname=InstanceName.of("[PROJECT]","[LOCATION]","[INSTANCE]").toString();
Instanceresponse=cloudRedisClient.getInstance(name);
}
Parameter
Name Description
name String

Required. Redis instance resource name using the form: projects/{project_id}/locations/{location_id}/instances/{instance_id} where location_id refers to a GCP region.

Returns
Type Description

getInstanceCallable()

publicfinalUnaryCallable<GetInstanceRequest,Instance>getInstanceCallable()

Gets the details of a specific Redis instance.

Sample code:


try(CloudRedisClientcloudRedisClient=CloudRedisClient.create()){
GetInstanceRequestrequest=
GetInstanceRequest.newBuilder()
.setName(InstanceName.of("[PROJECT]","[LOCATION]","[INSTANCE]").toString())
.build();
ApiFuture<Instance>future=cloudRedisClient.getInstanceCallable().futureCall(request);
// Do something.
Instanceresponse=future.get();
}
Returns
Type Description

getOperationsClient()

publicfinalOperationsClientgetOperationsClient()

Returns the OperationsClient that can be used to query the status of a long-running operation returned by another API method call.

Returns
Type Description

getSettings()

publicfinalCloudRedisSettingsgetSettings()
Returns
Type Description

getStub()

publicCloudRedisStubgetStub()
Returns
Type Description

importInstanceAsync(ImportInstanceRequest request)

publicfinalOperationFuture<Instance,OperationMetadata>importInstanceAsync(ImportInstanceRequestrequest)

Import a Redis RDB snapshot file from Cloud Storage into a Redis instance.

Redis may stop serving during this operation. Instance state will be IMPORTING for entire operation. When complete, the instance will contain only data from the imported file.

The returned operation is automatically deleted after a few hours, so there is no need to call DeleteOperation.

Sample code:


try(CloudRedisClientcloudRedisClient=CloudRedisClient.create()){
ImportInstanceRequestrequest=
ImportInstanceRequest.newBuilder()
.setName("name3373707")
.setInputConfig(InputConfig.newBuilder().build())
.build();
Instanceresponse=cloudRedisClient.importInstanceAsync(request).get();
}
Parameter
Name Description
request ImportInstanceRequest

The request object containing all of the parameters for the API call.

Returns
Type Description

importInstanceAsync(String name, InputConfig inputConfig)

publicfinalOperationFuture<Instance,OperationMetadata>importInstanceAsync(Stringname,InputConfiginputConfig)

Import a Redis RDB snapshot file from Cloud Storage into a Redis instance.

Redis may stop serving during this operation. Instance state will be IMPORTING for entire operation. When complete, the instance will contain only data from the imported file.

The returned operation is automatically deleted after a few hours, so there is no need to call DeleteOperation.

Sample code:


try(CloudRedisClientcloudRedisClient=CloudRedisClient.create()){
Stringname="name3373707";
InputConfiginputConfig=InputConfig.newBuilder().build();
Instanceresponse=cloudRedisClient.importInstanceAsync(name,inputConfig).get();
}
Parameters
Name Description
name String

Required. Redis instance resource name using the form: projects/{project_id}/locations/{location_id}/instances/{instance_id} where location_id refers to a GCP region.

inputConfig InputConfig

Required. Specify data to be imported.

Returns
Type Description

importInstanceCallable()

publicfinalUnaryCallable<ImportInstanceRequest,Operation>importInstanceCallable()

Import a Redis RDB snapshot file from Cloud Storage into a Redis instance.

Redis may stop serving during this operation. Instance state will be IMPORTING for entire operation. When complete, the instance will contain only data from the imported file.

The returned operation is automatically deleted after a few hours, so there is no need to call DeleteOperation.

Sample code:


try(CloudRedisClientcloudRedisClient=CloudRedisClient.create()){
ImportInstanceRequestrequest=
ImportInstanceRequest.newBuilder()
.setName("name3373707")
.setInputConfig(InputConfig.newBuilder().build())
.build();
ApiFuture<Operation>future=cloudRedisClient.importInstanceCallable().futureCall(request);
// Do something.
Operationresponse=future.get();
}
Returns
Type Description

importInstanceOperationCallable()

publicfinalOperationCallable<ImportInstanceRequest,Instance,OperationMetadata>importInstanceOperationCallable()

Import a Redis RDB snapshot file from Cloud Storage into a Redis instance.

Redis may stop serving during this operation. Instance state will be IMPORTING for entire operation. When complete, the instance will contain only data from the imported file.

The returned operation is automatically deleted after a few hours, so there is no need to call DeleteOperation.

Sample code:


try(CloudRedisClientcloudRedisClient=CloudRedisClient.create()){
ImportInstanceRequestrequest=
ImportInstanceRequest.newBuilder()
.setName("name3373707")
.setInputConfig(InputConfig.newBuilder().build())
.build();
OperationFuture
Returns
Type Description

isShutdown()

publicbooleanisShutdown()
Returns
Type Description

isTerminated()

publicbooleanisTerminated()
Returns
Type Description

listInstances(ListInstancesRequest request)

publicfinalCloudRedisClient.ListInstancesPagedResponselistInstances(ListInstancesRequestrequest)

Lists all Redis instances 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.

Sample code:


try(CloudRedisClientcloudRedisClient=CloudRedisClient.create()){
ListInstancesRequestrequest=
ListInstancesRequest.newBuilder()
.setParent(LocationName.of("[PROJECT]","[LOCATION]").toString())
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.build();
for(Instanceelement:cloudRedisClient.listInstances(request).iterateAll()){
// doThingsWith(element);
}
}
Parameter
Name Description
request ListInstancesRequest

The request object containing all of the parameters for the API call.

Returns
Type Description

listInstances(LocationName parent)

publicfinalCloudRedisClient.ListInstancesPagedResponselistInstances(LocationNameparent)

Lists all Redis instances 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.

Sample code:


try(CloudRedisClientcloudRedisClient=CloudRedisClient.create()){
LocationNameparent=LocationName.of("[PROJECT]","[LOCATION]");
for(Instanceelement:cloudRedisClient.listInstances(parent).iterateAll()){
// doThingsWith(element);
}
}
Parameter
Name Description
parent LocationName

Required. The resource name of the instance location using the form: projects/{project_id}/locations/{location_id} where location_id refers to a GCP region.

Returns
Type Description

listInstances(String parent)

publicfinalCloudRedisClient.ListInstancesPagedResponselistInstances(Stringparent)

Lists all Redis instances 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.

Sample code:


try(CloudRedisClientcloudRedisClient=CloudRedisClient.create()){
Stringparent=LocationName.of("[PROJECT]","[LOCATION]").toString();
for(Instanceelement:cloudRedisClient.listInstances(parent).iterateAll()){
// doThingsWith(element);
}
}
Parameter
Name Description
parent String

Required. The resource name of the instance location using the form: projects/{project_id}/locations/{location_id} where location_id refers to a GCP region.

Returns
Type Description

listInstancesCallable()

publicfinalUnaryCallable<ListInstancesRequest,ListInstancesResponse>listInstancesCallable()

Lists all Redis instances 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.

Sample code:


try(CloudRedisClientcloudRedisClient=CloudRedisClient.create()){
ListInstancesRequestrequest=
ListInstancesRequest.newBuilder()
.setParent(LocationName.of("[PROJECT]","[LOCATION]").toString())
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.build();
while(true){
ListInstancesResponseresponse=cloudRedisClient.listInstancesCallable().call(request);
for(Instanceelement:response.getResponsesList()){
// doThingsWith(element);
}
StringnextPageToken=response.getNextPageToken();
if(!Strings.isNullOrEmpty(nextPageToken)){
request=request.toBuilder().setPageToken(nextPageToken).build();
}else{
break;
}
}
}
Returns
Type Description

listInstancesPagedCallable()

publicfinalUnaryCallable<ListInstancesRequest,CloudRedisClient.ListInstancesPagedResponse>listInstancesPagedCallable()

Lists all Redis instances 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.

Sample code:


try(CloudRedisClientcloudRedisClient=CloudRedisClient.create()){
ListInstancesRequestrequest=
ListInstancesRequest.newBuilder()
.setParent(LocationName.of("[PROJECT]","[LOCATION]").toString())
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.build();
ApiFuture<Instance>future=
cloudRedisClient.listInstancesPagedCallable().futureCall(request);
// Do something.
for(Instanceelement:future.get().iterateAll()){
// doThingsWith(element);
}
}
Returns
Type Description

shutdown()

publicvoidshutdown()

shutdownNow()

publicvoidshutdownNow()

updateInstanceAsync(UpdateInstanceRequest request)

publicfinalOperationFuture<Instance,OperationMetadata>updateInstanceAsync(UpdateInstanceRequestrequest)

Updates the metadata and configuration of a specific Redis instance.

Completed longrunning.Operation will contain the new instance object in the response field. The returned operation is automatically deleted after a few hours, so there is no need to call DeleteOperation.

Sample code:


try(CloudRedisClientcloudRedisClient=CloudRedisClient.create()){
UpdateInstanceRequestrequest=
UpdateInstanceRequest.newBuilder()
.setUpdateMask(FieldMask.newBuilder().build())
.setInstance(Instance.newBuilder().build())
.build();
Instanceresponse=cloudRedisClient.updateInstanceAsync(request).get();
}
Parameter
Name Description
request UpdateInstanceRequest

The request object containing all of the parameters for the API call.

Returns
Type Description

updateInstanceAsync(FieldMask updateMask, Instance instance)

publicfinalOperationFuture<Instance,OperationMetadata>updateInstanceAsync(FieldMaskupdateMask,Instanceinstance)

Updates the metadata and configuration of a specific Redis instance.

Completed longrunning.Operation will contain the new instance object in the response field. The returned operation is automatically deleted after a few hours, so there is no need to call DeleteOperation.

Sample code:


try(CloudRedisClientcloudRedisClient=CloudRedisClient.create()){
FieldMaskupdateMask=FieldMask.newBuilder().build();
Instanceinstance=Instance.newBuilder().build();
Instanceresponse=cloudRedisClient.updateInstanceAsync(updateMask,instance).get();
}
Parameters
Name Description
updateMask FieldMask

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 Instance:

* displayName * labels * memorySizeGb * redisConfig * replica_count

instance Instance

Required. Update description. Only fields specified in update_mask are updated.

Returns
Type Description

updateInstanceCallable()

publicfinalUnaryCallable<UpdateInstanceRequest,Operation>updateInstanceCallable()

Updates the metadata and configuration of a specific Redis instance.

Completed longrunning.Operation will contain the new instance object in the response field. The returned operation is automatically deleted after a few hours, so there is no need to call DeleteOperation.

Sample code:


try(CloudRedisClientcloudRedisClient=CloudRedisClient.create()){
UpdateInstanceRequestrequest=
UpdateInstanceRequest.newBuilder()
.setUpdateMask(FieldMask.newBuilder().build())
.setInstance(Instance.newBuilder().build())
.build();
ApiFuture<Operation>future=cloudRedisClient.updateInstanceCallable().futureCall(request);
// Do something.
Operationresponse=future.get();
}
Returns
Type Description

updateInstanceOperationCallable()

publicfinalOperationCallable<UpdateInstanceRequest,Instance,OperationMetadata>updateInstanceOperationCallable()

Updates the metadata and configuration of a specific Redis instance.

Completed longrunning.Operation will contain the new instance object in the response field. The returned operation is automatically deleted after a few hours, so there is no need to call DeleteOperation.

Sample code:


try(CloudRedisClientcloudRedisClient=CloudRedisClient.create()){
UpdateInstanceRequestrequest=
UpdateInstanceRequest.newBuilder()
.setUpdateMask(FieldMask.newBuilder().build())
.setInstance(Instance.newBuilder().build())
.build();
OperationFuture
Returns
Type Description

upgradeInstanceAsync(InstanceName name, String redisVersion)

publicfinalOperationFuture<Instance,OperationMetadata>upgradeInstanceAsync(InstanceNamename,StringredisVersion)

Upgrades Redis instance to the newer Redis version specified in the request.

Sample code:


try(CloudRedisClientcloudRedisClient=CloudRedisClient.create()){
InstanceNamename=InstanceName.of("[PROJECT]","[LOCATION]","[INSTANCE]");
StringredisVersion="redisVersion-1972584739";
Instanceresponse=cloudRedisClient.upgradeInstanceAsync(name,redisVersion).get();
}
Parameters
Name Description
name InstanceName

Required. Redis instance resource name using the form: projects/{project_id}/locations/{location_id}/instances/{instance_id} where location_id refers to a GCP region.

redisVersion String

Required. Specifies the target version of Redis software to upgrade to.

Returns
Type Description

upgradeInstanceAsync(UpgradeInstanceRequest request)

publicfinalOperationFuture<Instance,OperationMetadata>upgradeInstanceAsync(UpgradeInstanceRequestrequest)

Upgrades Redis instance to the newer Redis version specified in the request.

Sample code:


try(CloudRedisClientcloudRedisClient=CloudRedisClient.create()){
UpgradeInstanceRequestrequest=
UpgradeInstanceRequest.newBuilder()
.setName(InstanceName.of("[PROJECT]","[LOCATION]","[INSTANCE]").toString())
.setRedisVersion("redisVersion-1972584739")
.build();
Instanceresponse=cloudRedisClient.upgradeInstanceAsync(request).get();
}
Parameter
Name Description
request UpgradeInstanceRequest

The request object containing all of the parameters for the API call.

Returns
Type Description

upgradeInstanceAsync(String name, String redisVersion)

publicfinalOperationFuture<Instance,OperationMetadata>upgradeInstanceAsync(Stringname,StringredisVersion)

Upgrades Redis instance to the newer Redis version specified in the request.

Sample code:


try(CloudRedisClientcloudRedisClient=CloudRedisClient.create()){
Stringname=InstanceName.of("[PROJECT]","[LOCATION]","[INSTANCE]").toString();
StringredisVersion="redisVersion-1972584739";
Instanceresponse=cloudRedisClient.upgradeInstanceAsync(name,redisVersion).get();
}
Parameters
Name Description
name String

Required. Redis instance resource name using the form: projects/{project_id}/locations/{location_id}/instances/{instance_id} where location_id refers to a GCP region.

redisVersion String

Required. Specifies the target version of Redis software to upgrade to.

Returns
Type Description

upgradeInstanceCallable()

publicfinalUnaryCallable<UpgradeInstanceRequest,Operation>upgradeInstanceCallable()

Upgrades Redis instance to the newer Redis version specified in the request.

Sample code:


try(CloudRedisClientcloudRedisClient=CloudRedisClient.create()){
UpgradeInstanceRequestrequest=
UpgradeInstanceRequest.newBuilder()
.setName(InstanceName.of("[PROJECT]","[LOCATION]","[INSTANCE]").toString())
.setRedisVersion("redisVersion-1972584739")
.build();
ApiFuture<Operation>future=cloudRedisClient.upgradeInstanceCallable().futureCall(request);
// Do something.
Operationresponse=future.get();
}
Returns
Type Description

upgradeInstanceOperationCallable()

publicfinalOperationCallable<UpgradeInstanceRequest,Instance,OperationMetadata>upgradeInstanceOperationCallable()

Upgrades Redis instance to the newer Redis version specified in the request.

Sample code:


try(CloudRedisClientcloudRedisClient=CloudRedisClient.create()){
UpgradeInstanceRequestrequest=
UpgradeInstanceRequest.newBuilder()
.setName(InstanceName.of("[PROJECT]","[LOCATION]","[INSTANCE]").toString())
.setRedisVersion("redisVersion-1972584739")
.build();
OperationFuture
Returns
Type Description

Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2025年10月30日 UTC.