Skip to content
Tim Middleton edited this page Apr 14, 2023 · 23 revisions

What is the Coherence Go client?

The Coherence Go client allows Go applications to act as cache clients to a Coherence Cluster using Google's gRPC framework for the network transport.

What versions of Golang are supported?

The Coherence Go client supports Go version 1.19 and above.

Note: Version 1.18 of Golang is not supported due to various generics bugs in Golang itself.

What Coherence versions can I connect to?

The following Coherence versions are supported with a configured gRPCProxy.

  • Coherence CE versions 22.06.4+ and 23.03+
  • Coherence Commercial versions 14.1.1.2206.4+

Does the Coherence Go client support generics?

Yes, the Coherence Go client fully supports Golang generics when accessing Coherence API's.

What Coherence API features are supported?

  • Familiar Map-like operations for manipulating cache entries such as:
    • Put, PutIfAbsent, PutAll, Get, GetAll, Remove, Clear, GetOrDefault, Replace, ReplaceMapping, Size, IsEmpty
  • Cluster-side querying, aggregation and filtering of map entries
  • Cluster-side manipulation of map entries using EntryProcessors
  • Registration of listeners to be notified of:
    • mutations such as insert, update and delete on Maps
    • map lifecycle events such as truncated, released or destroyed
    • session lifecycle events such as connected, disconnected, reconnected and closed
  • Support for storing Go structs as JSON as well as the ability to serialize to Java objects on the server for access from other Coherence language API's

How is data add via Go client stored in Coherence?

By default, the Coherence Go Client serializes any keys and values to JSON and then stores them as JsonObjects in Coherence. This is usually sufficient for most applications where you are only accessing your data via the Go Client.

If you wish to access your data via other clients such as Java, JavaScript, C++, .NET or Python, you can use Java classes, known to Coherence server, representing the data model.

See the Documentation for more information.

Where can I find code examples?

How can i report a problem?

If you would like to raise an issue please see here.

Please consult the security guide for our responsible security vulnerability disclosure process.

Where can I find more on Coherence?

What other clients/API's can I use to access Coherence?

Clone this wiki locally