项目作者: Ledest

项目描述 :
Erlang BEAM cache
高级语言: Erlang
项目地址: git://github.com/Ledest/beamcache.git
创建时间: 2017-07-09T20:05:06Z
项目社区:https://github.com/Ledest/beamcache

开源协议:

下载


Build Status

beamcache: Erlang BEAM Cache

Usage

  1. CacheName = my_cache,
  2. Cache = #{a => 1, b => true, <<"key">> => "TEST"},
  3. {module, CacheName} = beamcache:init(CacheName, Cache),
  4. Cache = CacheName:get(),
  5. true = CacheName:get(b),
  6. false = CacheName:get(c, false).

To shut up xref and dialyzer add such module to sources:

  1. -module(testbc).
  2. -export([get/0, get/1, get/2]).
  3. get() -> erlang:nif_error(undef).
  4. get(_) -> erlang:nif_error(undef).
  5. get(_, _) -> erlang:nif_error(undef).
  6. erase(_) -> erlang:nif_error(undef).
  7. put(_, _) -> erlang:nif_error(undef).

To protect against using uninitialized cache add such module to sources:

  1. -module(testbc).
  2. -export(['$handle_undefined_function'/2]).
  3. '$handle_undefined_function'(F, A) ->
  4. {module, ?MODULE} = beamcache:init(?MODULE, #{a => 1, b => true, <<"key">> => "TEST"}),
  5. apply(?MODULE, F, A).

Or come up with a combination of the above examples…