Popularity
3.5
Declining
Activity
0.0
Stable
26
1
4
Monthly Downloads: 20
Programming language: Elixir
License: Do What The F*ck You Want To Public License
Latest version: v0.3.1
Mem alternatives and similar packages
Based on the "Caching" category.
Alternatively, view Mem alternatives based on common mentions on social networks and blogs.
-
cachex
A powerful caching library for Elixir with support for transactions, fallbacks and expirations -
con_cache
ets based key/value cache with row level isolated writes and ttl support -
elixir_locker
Locker is an Elixir wrapper for the locker Erlang library that provides some useful libraries that should make using locker a bit easier.
Access the most powerful time series database as a service
Ingest, store, & analyze all types of time series data in a fully-managed, purpose-built database. Keep data forever with low-cost storage and superior data compression.
Promo
www.influxdata.com
Do you think we are missing an alternative of Mem or a related project?
Popular Comparisons
README
Mem
KV cache with TTL, Replacement and Persistence support
Usage
define your cache module
defmodule Cache do use Mem, worker_number: 2, # (optional, default: 2) how many processes in worker pool default_ttl: 300, # (optional, default: nil) default expire seconds for set/2 maxmemory_size: "1000M", # (optional, default: nil) max memory used, support such format: [1000, "10k", "1GB", "1000 K"] maxmemory_strategy: :lru, # ([:lru, :ttl, :fifo]) strategy for cleaning memory persistence: false # (optional, default: false) whether enable persistence end
add this module to supervisor
defmodule MyApp.Supervisor do use Supervisor def start_link do Supervisor.start_link(__MODULE__, []) end def init([]) do [ Cache.child_spec, ] |> supervise(strategy: :one_for_one) end end
just use it like redis
Cache.set(:a, 1) Cache.inc(:a, 2) Cache.set(:b, 2, 200) Cache.get(:a) Cache.expire(:a, 200) Cache.ttl(:a) Cache.del(:b) Cache.flush Cache.hset(:c, :a, 2) Cache.hget(:c, :a) Cache.memory_used()