Skip to content

Releases: TwiN/gocache

v0.1.1

24 Oct 22:14
Compare
Choose a tag to compare

gocache

  • Improved documentation
  • Improved test coverage

gocacheserver

  • Fixed issue with server not loading content of AutoSaveFile into cache on start #1
  • Improved test coverage

v0.1.0

10 Oct 20:25
Compare
Choose a tag to compare

gocache

  • Implemented SetAll
  • GetKeysByPattern must now be called with a limit

Even though the change on GetKeysByPattern is a breaking change, considering that this library is not currently very popular, this should be acceptable.

gocacheserver

  • Implemented MSET
  • Implemented SCAN (without cursor)
  • Fixed a parity issue when adding data through the server
  • Added integration tests

v0.0.7

12 Sep 23:30
Compare
Choose a tag to compare

gocache

  • Implemented GetKeysByPattern
  • Improved documentation
  • Updated Go to 1.15

gocacheserver

  • Updated Go to 1.15

v0.0.6

29 Jul 23:23
Compare
Choose a tag to compare

gocache

  • Added support for cache entry TTL
  • Added async janitor for background clean up of expired keys
  • Added more tests
  • Fixed memory leak

gocacheserver

  • Added support for FLUSHDB command
  • Added support for TTL command
  • Added support for EXPIRE command
  • Added support for SETEX command
  • Added support for EX and PX in the SET command
  • Fixed issue caused by using the default port instead of the server port

v0.0.5

16 Jul 22:28
Compare
Choose a tag to compare

gocache

  • Implemented GetAll
  • Implemented DeleteAll
  • Lock only once for Set instead of using both RLock and Lock

gocacheserver

  • Implemented MGET command
  • Implemented INFO command
  • Refactored code

v0.0.4

05 Jul 06:58
Compare
Choose a tag to compare

gocache

  • Fixed persistence issues
  • cache.Delete(key) now returns a bool based on whether the key existed or not
  • Minor improvements

gocacheserver

  • Added support for EXISTS on the server
  • DEL now supports multiple keys rather than just one

v0.0.3

05 Jul 00:17
Compare
Choose a tag to compare
  • Improved documentation
  • Added persistence through ReadFromFile and SaveToFile
  • Replaced sync.Mutex by sync.RWMutex for performance reasons
  • Added ready-to-go cache server in new gocacheserver package
  • Added performance section in documentation

EDIT: For persistence, please use v0.0.4+ instead. There was a pretty decent oversight in the implementation, and it was resolved in v0.0.4.

v0.0.2

01 Jul 23:59
Compare
Choose a tag to compare
  • Significantly improved eviction process by leveraging doubly linked list (rather than iterating through the entire map to evict the oldest entry (or least recently used entry if using LRU), we keep track of the head/tail of the cache and the entries keep track of the next/previous node)
  • Added more benchmarks
  • Improved test coverage

v0.0.1

01 Jul 03:41
Compare
Choose a tag to compare

First release