README.md in google-cloud-memcache-v1beta2-0.1.2 vs README.md in google-cloud-memcache-v1beta2-0.2.0

- old
+ new

@@ -4,10 +4,16 @@ Google Cloud Memorystore for Memcached API is used for creating and managing Memcached instances in GCP. https://github.com/googleapis/google-cloud-ruby +This gem is a _versioned_ client. It provides basic client classes for a +specific version of the Google Cloud Memorystore for Memcached API. Most users should consider using +the main client gem, +[google-cloud-memcache](https://rubygems.org/gems/google-cloud-memcache). +See the section below titled *Which client should I use?* for more information. + ## Installation ``` $ gem install google-cloud-memcache-v1beta2 ``` @@ -63,13 +69,71 @@ end ``` ## Supported Ruby Versions -This library is supported on Ruby 2.4+. +This library is supported on Ruby 2.5+. Google provides official support for Ruby versions that are actively supported by Ruby Core—that is, Ruby versions that are either in normal maintenance or -in security maintenance, and not end of life. Currently, this means Ruby 2.4 +in security maintenance, and not end of life. Currently, this means Ruby 2.5 and later. Older versions of Ruby _may_ still work, but are unsupported and not recommended. See https://www.ruby-lang.org/en/downloads/branches/ for details about the Ruby support schedule. + +## Which client should I use? + +Most modern Ruby client libraries for Google APIs come in two flavors: the main +client library with a name such as `google-cloud-memcache`, +and lower-level _versioned_ client libraries with names such as +`google-cloud-memcache-v1beta2`. +_In most cases, you should install the main client._ + +### What's the difference between the main client and a versioned client? + +A _versioned client_ provides a basic set of data types and client classes for +a _single version_ of a specific service. (That is, for a service with multiple +versions, there might be a separate versioned client for each service version.) +Most versioned clients are written and maintained by a code generator. + +The _main client_ is designed to provide you with the _recommended_ client +interfaces for the service. There will be only one main client for any given +service, even a service with multiple versions. The main client includes +factory methods for constructing the client objects we recommend for most +users. In some cases, those will be classes provided by an underlying versioned +client; in other cases, they will be handwritten higher-level client objects +with additional capabilities, convenience methods, or best practices built in. +Generally, the main client will default to a recommended service version, +although in some cases you can override this if you need to talk to a specific +service version. + +### Why would I want to use the main client? + +We recommend that most users install the main client gem for a service. You can +identify this gem as the one _without_ a version in its name, e.g. +`google-cloud-memcache`. +The main client is recommended because it will embody the best practices for +accessing the service, and may also provide more convenient interfaces or +tighter integration into frameworks and third-party libraries. In addition, the +documentation and samples published by Google will generally demonstrate use of +the main client. + +### Why would I want to use a versioned client? + +You can use a versioned client if you are content with a possibly lower-level +class interface, you explicitly want to avoid features provided by the main +client, or you want to access a specific service version not be covered by the +main client. You can identify versioned client gems because the service version +is part of the name, e.g. `google-cloud-memcache-v1beta2`. + +### What about the google-apis-<name> clients? + +Client library gems with names that begin with `google-apis-` are based on an +older code generation technology. They talk to a REST/JSON backend (whereas +most modern clients talk to a [gRPC](https://grpc.io/) backend) and they may +not offer the same performance, features, and ease of use provided by more +modern clients. + +The `google-apis-` clients have wide coverage across Google services, so you +might need to use one if there is no modern client available for the service. +However, if a modern client is available, we generally recommend it over the +older `google-apis-` clients.