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

  •        180

gocache is an easy-to-use, high-performance, lightweight and thread-safe (goroutine-safe) in-memory key-value cache with support for LRU and FIFO eviction policies as well as expiration, bulk operations and even persistence to file. It also supports cache entry TTL, which is both active and passive. Active expiration means that if you attempt to retrieve a cache key that has already expired, it will delete it on the spot and the behavior will be as if the cache key didn't exist. As for passive expiration, there's a background task that will take care of deleting expired keys.

https://github.com/TwinProduction/gocache

Tags
Implementation
License
Platform

   




Related Projects

Ehcache

  •    Java

Ehcache is an open source, standards-based cache used to boost performance, offload the database and simplify scalability. Ehcache is robust, proven and full-featured and this has made it the most widely-used Java-based cache.

Caffeine - A high performance caching library for Java 8

  •    Java

Caffeine is a high performance, near optimal caching library based on Java 8. It provides an in-memory cache using a Google Guava inspired API.

gocache - ☔️ A complete Go cache library that brings you multiple ways of managing your caches

  •    Go

Guess what is Gocache? a Go cache library. This is an extendable cache library that brings you a lot of features for caching data. Chain cache also put data back in previous caches when it's found so in this case, if ristretto doesn't have the data in its cache but redis have, data will also get setted back into ristretto (memory) cache.

DiskCache - Python disk backed cache (Django-compatible). Faster than Redis and Memcached. Pure-Python

  •    Python

DiskCache is a disk and file backed cache library, written in pure-Python, and compatible with Django. The cloud-based computing of 2021 puts a premium on memory. Gigabytes of empty space is left on disks as processes vie for memory. Among these processes is Memcached (and sometimes Redis) which is used as a cache. It is good to use empty disk space for caching.

Redisson - Redis based In-Memory Data Grid for Java

  •    Java

Redisson - distributed Java objects and services (Set, Multimap, SortedSet, Map, List, Queue, BlockingQueue, Deque, BlockingDeque, Semaphore, Lock, AtomicLong, Map Reduce, Publish / Subscribe, Bloom filter, Spring Cache, Executor service, Tomcat Session Manager, Scheduler service, JCache API) on top of Redis server. Rich Redis client.


node-cache-manager - Cache module for Node.JS

  •    Javascript

A cache module for nodejs that allows easy wrapping of functions in cache, tiered caches, and a consistent interface. See the Express.js cache-manager example app to see how to use node-cache-manager in your applications.

OHC - Java large off heap cache

  •    Java

Off-Heap concurrent hash map intended to store GBs of serialized data. It has optional per entry or default TTL/expireAt, Entry eviction and expiration without a separate thread, Capable of maintaining huge amounts of cache memory, Suitable for tiny/small entries with low overhead using the chunked implementation.

gcache - Cache library for golang. It supports expirable Cache, LFU, LRU and ARC.

  •    Go

Cache library for golang. It supports expirable Cache, LFU, LRU and ARC.Supports expirable Cache, LFU, LRU and ARC.

LazyCache - An easy to use thread safe generics based in memory caching service with a simple developer friendly API for c#

  •    CSharp

Lazy cache is a simple in-memory caching service. It has a developer friendly generics based API, and provides a thread safe cache implementation that guarantees to only execute your cachable delegates once (it's lazy!). Under the hood it leverages Microsoft.Extensions.Caching and Lazy to provide performance and reliability in heavy load scenarios. As you can see the magic happens in the GetOrAdd() method which gives the consumer an atomic and tidy way to add caching to your code. It leverages a factory delegate Func and generics to make it easy to add cached method calls to your app.

libshmcache - libshmcache is a local cache in the share memory for multi processes

  •    C

libshmcache may be copied or modified under the terms of BSD License. libshmcache is a local share memory cache for multi processes. it is a high performance library because read mechanism is lockless. libshmcache is 100+ times faster than a remote interface such as redis.

Ristretto - A high performance memory-bound Go cache

  •    Go

Ristretto is a fast, concurrent cache library built with a focus on performance and correctness. Its features include Concurrency, High Hit Ratios, Fast Throughput, Cost-Based Eviction, Metrics support.

lru-memoize - A utility to provide LRU memoization for any js function

  •    Javascript

lru-memoize is a utility to provide simple memoization for any pure javascript function, using an LRU cache that prioritizes the most recently accessed values, and discards the "least recently used" (LRU) items when the size limit is reached. If your function has side effects or relies on some external state to generate its result, it should not be memoized. Let's look at an example where we want to memoize a function that multiplies three numbers together, and we want to keep the last ten arguments -> value mappings in memory.

Infinispan - Key value NOSQL data store and data grid

  •    Java

Infinispan is an extremely scalable, highly available key/value NoSQL datastore and distributed data grid platform. The purpose of Infinispan is to expose a data structure that is highly concurrent, designed ground-up to make the most of modern multi-processor/multi-core architectures while at the same time providing distributed cache capabilities. Infinispan offers enterprise features such as efficient eviction algorithms to control memory usage as well as JTA compatibility.

JetCache - Java cache abstraction which provides consistent use for various caching solutions

  •    Java

JetCache is a Java cache abstraction which provides consistent use for various caching solutions. Presently it support Redis and Alibaba Tair and Caffeine cache as embedded cache.

go-cache - An in-memory key:value store/cache (similar to Memcached) library for Go, suitable for single-machine applications

  •    Go

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.

aiocache - Asyncio cache manager for redis, memcached and memory

  •    Python

Asyncio cache supporting multiple backends (memory, redis and memcached). The recommended approach to instantiate a new cache is using the Cache constructor. However you can also instantiate directly using aiocache.RedisCache, aiocache.SimpleMemoryCache or aiocache.MemcachedCache.

Keydb - A Multithreaded Fork of Redis

  •    C++

KeyDB is a high performance fork of Redis with a focus on multithreading, memory efficiency, and high throughput. In addition to multithreading, KeyDB also has features only available in Redis Enterprise such as Active Replication, FLASH storage support, and some not available at all such as direct backup to AWS S3.

Apache Ignite - High performance in-memory data grid

  •    Java

Apache Ignite In-Memory Data Fabric is a high-performance, integrated and distributed in-memory platform for computing and transacting on large-scale data sets in real-time, orders of magnitude faster than possible with traditional disk-based or flash technologies.

SPTPersistentCache - Everyone tries to implement a cache at some point in their iOS app’s lifecycle, and this is ours

  •    Objective-C

Everyone tries to implement a cache at some point in their app’s lifecycle, and this is ours. This is a library that allows people to cache NSData with time to live (TTL) values and semantics for disk management.SPTPersistentCache is designed as an LRU cache which makes use of the file system to store files as well as inserting a cache header into each file. This cache header allows us to track the TTL, last updated time, the redundancy check and more. This allows the cache to know how often a file is accessed, when it was made, whether it has become corrupt and allows decisions to be made on whether the cache is stale.

bigcache - Efficient cache for gigabytes of data written in Go.

  •    Go

Fast, concurrent, evicting in-memory cache written to keep big number of entries without impact on performance. BigCache keeps entries on heap but omits GC for them. To achieve that operations on bytes arrays take place, therefore entries (de)serialization in front of the cache will be needed in most use cases.






We have large collection of open source products. Follow the tags from Tag Cloud >>


Open source products are scattered around the web. Please provide information about the open source projects you own / you use. Add Projects.