Skip to content
ETS-based fix-sized LRU cache for elixir
Elixir
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
config
lib
test
.gitignore
CHANGELOG.md release v0.1.0 Dec 3, 2015
README.md
mix.exs
mix.lock

README.md

LruCache

Simple LRU Cache, implemented with ets.

Installation

The package can be installed as:

  1. Add lru_cache to your list of dependencies in mix.exs:

    def deps do
      [{:lru_cache, "~> 0.1.0"}]
    end
    
  2. Ensure lru_cache is started before your application:

    def application do
      [applications: [:lru_cache]]
    end
    

Using

Typically you want to start the cache from a supervisor:

worker(LruCache, [:my_cache, 10])

Or starting it manually:

LruCache.start_link(:my_cache, 10)

The resulting process and ets table will be registered under this alias. Now you can use the cache as follows:

LruCache.put(:my_cache, "id", "value")
LruCache.get(:my_cache, "id")
LruCache.get(:my_cache, "id", touch = false)
LruCache.update(:my_cache, "id", "new_value", touch = false)
LruCache.delete(:my_cache, "id")
Something went wrong with that request. Please try again.