go-cache is an in-memory key:value store/cache similar to memcached that is suitable for applications running on a single machine. Its major advantage is that, being essentially a thread-safe map[string]interface{} with expiration times, it doesn't need to serialize or transmit its contents over the network. Any object can be stored, for a given duration or forever, and the cache can be safely used by multiple goroutines. Although go-cache isn't meant to be used as a persistent datastore, the entire cache can be saved to and loaded from a file (using c.Items() to retrieve the items map to serialize, and NewFrom() to create a cache from a deserialized one) to recover from downtime quickly.

Features

  • Return a new cache with a given default expiration duration and cleanup interval
  • Add an item to the cache only if an item doesn't already exist for the given key
  • GetWithExpiration returns an item and its expiration time from the cache
  • Load and add cache items from the given filename
  • Set a new value for the cache key only if it already exists
  • Write the cache's items (using Gob) to an io.Writer

Project Samples

Project Activity

See All Activity >

Categories

Libraries

License

MIT License

Follow go-cache

go-cache Web Site

Other Useful Business Software
Veeam Data Platform v13.1 - Get Your Free Trial Icon
Veeam Data Platform v13.1 - Get Your Free Trial

Secure by design, portable by default. Recover clean, fast, anywhere. Start a free trial.

Try Veeam Data Platform today. Experience the unified platform that's secure by design, portable by default, and proven to recover clean, fast, and anywhere.
Try it Free
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of go-cache!

Additional Project Details

Programming Language

Go

Related Categories

Go Libraries

Registered

2021-11-05