Skip to content

usergenic/lru_cache

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LRUCache

It's a simple in-memory cache that expires the least recently used item in the cache when the count of items in the cache reaches a fixed limit.

Installation

$ gem install lru_cache

Usage

require "lru_cache"

# create a new cache with a 1,000 item limit
cache = LRUCache.new(1_000)

# get or set item in cache
cache["some key"] ||= expensive_operation

By default the LRUCache is not thread-safe. If you intend to access the cache in multi-threaded code, use LRUCache::ThreadSafe.

require "lru_cache/thread_safe"

# create a new thread-safe cache with a 1,000 item limit
cache = LRUCache::ThreadSafe.new(1_000)

# get or set item in cache
cache["some key"] ||= expensive_operation

Public Instance Methods

  • #clear empties the cache
  • #count returns the number of items currently in cache
  • #delete(key) removes an item from the cache
  • #get(key) returns the cached value or nil
  • #limit returns the cache limit (defaults to 1)
  • #limit=value sets the cache limit to value
  • #set(key, value) stores the value in the cache
  • #[key] alias for #get(key)
  • #[key]=value alias for #set(key, value)

License

This code is released under the MIT license, and is copyright 2012 by Brendan Baldwin. Please see the accompanying LICENSE file for the full text of the license.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages