Skip to content

Coherence Go Client - v1.1.0

Compare
Choose a tag to compare
@tmiddlet2666 tmiddlet2666 released this 08 Mar 05:11
· 39 commits to main since this release
1f3ac0f

Introduction

Note: Due to a late breaking issue related to clear operation and near cache , you should use release v1.1.1

This is release v1.1.0 of the Coherence Go Client, an API for accessing Coherence caches via a native Go client.

Requirements

  • Coherence CE 22.06.4+, 23.03+, or Coherence 14.1.1.2206.4+ Commercial edition with a configured gRPCProxy.
    (Always ensure you are using the latest Coherence available patch.)
  • Go 1.19.+

New Features

Near Cache

This release of the Coherence Go client allows you to specify a near cache to cache frequently accessed data in your Go application.

When you access data using Get() or GetAll() operations, returned entries are stored in the near cache and subsequent data access for keys in the near cache is almost instant where without a near cache each operation above always results in a network call.

On creating a near cache, Coherence automatically adds a MapListener to your NamedMap or NamedCache which listens on
all cache events and updates or invalidates entries in the near cache that have been changed or removed on the server.

To manage the amount of memory used by the near cache, the following options are supported when creating one:

  • time-to-live (TTL) – objects expired after time in near cache, e.g. 5 minutes
  • High-Units – maximum number of cache entries in the near cache
  • Memory – maximum amount of memory used by cache entries

See the Godoc and examples for more details.

Fixed Issues since v1.0.3

  • Ensure PutWithExpiry cannot take an invalid expiry
  • Fixed a number of potential race conditions
  • Include -race option when running examples to pickup any new potential conditions

Documentation

Getting Started

go get github.com/oracle/coherence-go-client@latest

After executing this command coherence-go-client is ready to use, and it's source will be in:

$GOPATH/pkg/mod/github.com/oracle/coherence-go-client@latest

What's Changed

Full Changelog: v1.0.3...v1.1.0