Coherence Go Client - v1.1.0
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
- Ensure PutWithExpiry does not supply an invalid expiry by @tmiddlet2666 in #65
- Add CE 23.09.1 to CI/CD by @tmiddlet2666 in #66
- Update coherence-ce version in README by @tmiddlet2666 in #67
- Fix some race conditions by @tmiddlet2666 in #68
- Update ce versions in CI/CD by @tmiddlet2666 in #69
- Add 23.09.2 to ci/cd by @tmiddlet2666 in #70
- Implement near cache by @tmiddlet2666 in #71
- Minor doc by @tmiddlet2666 in #72
Full Changelog: v1.0.3...v1.1.0