{"repo":"cafebazaar/mnemosyne","free":true,"listed":false,"github":"https://github.com/cafebazaar/mnemosyne","clone":"git clone https://github.com/cafebazaar/mnemosyne.git","description":"Multilayer Cache Manager supporting multiple In-momery & Redis configurations","language":"Go","stars":18,"topics":["cache","multi-layer-cache","golang","cafebazaar","redis-cache","redis","bigcache"],"license":"MIT","category":"databases-storage","readme_excerpt":"Mnemosyne Mnemosyne (/nɪˈmɒzɪniː, nɪˈmɒsɪniː/; Greek: Μνημοσύνη, pronounced [mnɛːmosýːnɛː]) is a multilayer cache which can be configured to use various configurations of Redis and/or BigCache (an in-memory caching package) with minimum configuration out of the box. Getting Started Installing Initializing a Manager and Selecting a Cache Instance Working with a cacheInstance Configuration Mnemosyne uses Viper as it's config engine. Template of each cache instance includes the list of the layers' names (in order of precedence) followed by configuration for each layer. here's an example: soft-ttl is an instance-wide TTL which when expired will NOT remove the data from the instance, but warns that the data is old Each cache layer can be of types redis , guardian , memory or tiny . redis is used for a single node Redis server, guardian is used for a master-slave Redis cluster configuration, memory uses the BigCache library to provide an efficient and fast in-memory cache, tiny uses the native sync.map data structure to store smaller cache values in memory (used for low-write caches). Note: all of the cache types are sync-safe, meaning they can be safely used from simultaneously running goroutines. Common layer configs: amnesia is a stochastic fall-through mechanism which allows for a higher layer to be updated from a lower layer by the way of an artificial cache-miss, a 0 amnesia means that the layers will never miss a data that they actually have, a 10 amnesia means when a key is","default_branch":null,"files":null,"tree":[],"storefront":"/r/cafebazaar","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/cafebazaar/mnemosyne/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}