Skip to content

Releases: mgnsk/evcache

v.1.2.0

10 Feb 09:45
f8e3547
Compare
Choose a tag to compare
  • Increase safety, make invariants stricter.
  • Clean up the ring implementation.
  • Prevent Evict/Fetch "flap" when Fetch fails with an error and concurrently the same key is evicted and set again.
    Normally the failed fetch will try to remove the stored record after LoadOrStore succeeds and FetchCallback fails but will not if another record had been set under the same key.
  • Add tests for consistency under concurrent load.

v1.1.0

09 Feb 17:35
69274a8
Compare
Choose a tag to compare
  • Make a slow FetchCallback not block Range and background loop by skipping a record which might block

v1.0.1

09 Feb 14:25
54f3427
Compare
Choose a tag to compare
  • Fixes a race condition where not all records were evicted after closing the cache

v1.0.0

09 Feb 12:53
e2a8180
Compare
Choose a tag to compare
  • Ran go mod tidy to remove debugging packages.
  • Bump major version to account for earlier API changes.

v0.1.4

09 Feb 12:50
d7bb6ec
Compare
Choose a tag to compare
  • Prevent ring from overflowing.

v0.1.3

09 Feb 11:10
4b4165b
Compare
Choose a tag to compare
  • Implement Range method

v0.1.2

09 Feb 08:21
c2944d1
Compare
Choose a tag to compare
  • Use an LFU ring where inserts and deletes are sync, promotes are async
  • Pool records, reuse ring elements and waitgroups
  • Hopefully fix race conditions and deadlocks

evcache/v.0.1.1

26 Jan 07:40
86f0c10
Compare
Choose a tag to compare

Removes unused ttl field from record struct
Breaks out record expiry into a separate method

Initial release

25 Jan 12:48
dbb0538
Compare
Choose a tag to compare
v0.1.0

Rename builder method