Skip to content

arago/lru_cache

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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
  1. 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")

About

ETS-based fix-sized LRU cache for elixir

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages