hyperlru - Tiny & Fast LRU Implementation as possible.

  •        23

Tiny & Fast LRU Implementation as possible. There are a lot of LRU implementations, but most of them have a poor perfomance and they are hard to understand.

https://github.com/Kikobeats/hyperlru

Dependencies:

linked-list : ~1.0.3

Tags
Implementation
License
Platform

   




Related Projects

js-lru - A fast, simple & universal Least Recently Used (LRU) map for JavaScript

  •    Javascript

A finite key-value map using the Least Recently Used (LRU) algorithm, where the most recently-used items are "kept alive" while older, less-recently used items are evicted to make room for newer items. Useful when you want to limit use of memory to only hold commonly-used things.

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.

node-lru-cache

  •    Javascript

A cache object that deletes the least-recently-used items.If you put more stuff in it, then items will fall out.

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.


ShiftOne Object Cache

  •    Java

A Java library that provides basic Object caching. Implemented strategies include First In First Out (fifo), Least Recently Used (lru) and Least Frequently Used (lfu). All strategies enforce max size in elements, and max time to live.

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.

golang-lru - Golang LRU cache

  •    Go

This provides the lru package which implements a fixed-size thread safe LRU cache. It is based on the cache in Groupcache.

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.

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.

moize - The consistently-fast, complete memoization solution for JS

  •    Javascript

moize is a consistently blazing fast memoization library for JavaScript. It handles multiple parameters (including default values) without any additional configuration, and offers a large number of options to satisfy any number of potential use-cases. All parameter types are supported, including circular objects, functions, etc. There are also a number of shortcut methods to memoize for unique use-cases.

nuster - A web caching proxy server based on HAProxy

  •    C

Nuster is a simple yet powerful web caching proxy server based on HAProxy. It is 100% compatible with HAProxy, and takes full advantage of the ACL functionality of HAProxy to provide fine-grained caching policy based on the content of request, response or server status. Nuster is very fast, some test shows nuster is almost three times faster than nginx when both using single core, and nearly two times faster than nginx and three times faster than varnish when using all cores.

cache2k – High Performance Java Caching

  •    Java

cache2k focuses on providing a well engineered in-memory object cache implementation for Java applications.

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.

multi_fetch_fragments - Multi-fetch Fragments makes rendering and caching a collection of template partials easier and faster

  •    Ruby

I just implemented this on the staging environment of https://www.biglittlepond.com. The one-line render call for the most recently collected items dropped from ~700 ms to ~50 ms. 25 items per page. This will be going into the production release later this week. Multi-fetch Fragments makes rendering and caching a collection of template partials easier and faster. It takes advantage of the read_multi method on the Rails cache store. Some cache implementations have an optimized version of read_multi, which includes the popular Dalli client to Memcached. Traditionally, partial rendering and caching of a collection occurs sequentially, retrieving items from the cache store with the less optimized read method.

Memcached - distributed object caching system

  •    C

Memcached is high-performance, distributed memory object caching system, generic in nature, but intended for use in speeding up dynamic web applications by alleviating database load. Memcached is an in-memory key-value store for small chunks of arbitrary data (strings, objects) from results of database calls, API calls, or page rendering.

readthis - :newspaper: Pooled active support compliant caching with redis

  •    Ruby

Readthis is a Redis backed cache client for Ruby. It is a drop in replacement for any ActiveSupport compliant cache and can also be used for session storage. Above all Readthis emphasizes performance, simplicity, and explicitness. For new projects there isn't any reason to stick with Memcached. Redis is as fast, if not faster in many scenarios, and is far more likely to be used elsewhere in the stack. See this blog post for more details.

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.






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.