gocache

High performance and lightweight in-memory cache library with LRU and FIFO support as well as memory-usage-based-eviction

MIT License

Stars
34

Bot releases are hidden (Show)

gocache - v0.1.1

Published by TwiN almost 4 years ago

gocache

  • Improved documentation
  • Improved test coverage

gocacheserver

  • Fixed issue with server not loading content of AutoSaveFile into cache on start #1
  • Improved test coverage
gocache - v0.1.0

Published by TwiN about 4 years ago

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
gocache - v0.0.7

Published by TwiN about 4 years ago

gocache

  • Implemented GetKeysByPattern
  • Improved documentation
  • Updated Go to 1.15

gocacheserver

  • Updated Go to 1.15
gocache - v0.0.6

Published by TwiN about 4 years ago

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
gocache - v0.0.5

Published by TwiN over 4 years ago

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
gocache - v0.0.4

Published by TwiN over 4 years ago

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
gocache - v0.0.3

Published by TwiN over 4 years ago

  • 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.

gocache - v0.0.2

Published by TwiN over 4 years ago

  • 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
gocache - v0.0.1

Published by TwiN over 4 years ago

First release

Package Rankings
Top 4.3% on Proxy.golang.org
Badges
Extracted from project README
Go Report Card codecov Go version Go Reference Follow TwiN