Sha256: 35582c4d158f17cafb89f399d8a91b5b9e47155c163a894d8ca86eace87b0bae
Contents?: true
Size: 943 Bytes
Versions: 1
Compression:
Stored size: 943 Bytes
Contents
# Timed LRU [](https://travis-ci.org/bsm/timed_lru) [](https://gemnasium.com/bsm/timed_lru) My implementation of a simple, thread-safe LRU with (optional) TTLs and constant time operations. There are many LRUs for Ruby available but I was unable to find one that matches all three requirements. ## Install Install it via `gem`: ```ruby gem install timed_lru ``` Or just bundle it with your project. ## Usage Example ```ruby # Initialize with a max size (default: 100) and a TTL (default: none) lru = TimedLRU.new max_size: 3, ttl: 5 # Add values lru["a"] = "value 1" lru["b"] = "value 2" lru["c"] = "value 3" lru.keys # => ["a", "b"] # Wait a second sleep(1) # Add more values lru["d"] = "value 4" lru.keys # => ["b", "c", "d"] # Sleep a little longer sleep(4) lru["c"] # => "value 3" lru.keys # => ["c", "d"] ```
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
timed_lru-0.5.0 | README.md |