Mnemonix

A unified interface to key-value stores.

!Version Hex License

Synopsis

Mnemonix aims to help you:

  • Get running with key-values stores with minimal ceremony
  • Experiment with different key-value store backends for your application
  • Allow end-users of your library liberty to choose their preferred backend

It encodes the behaviour, lifecycle, and feature set of a key-value store behind a common GenServer interface, normalizes different store APIs to conform to that interface, and exposes access to them a Map inspired API.

Learn more about creating a Mnemonix.Store and manipulating it with the Mnemonix API by reading their documentation.

Pronunciation: noo-MAHN-icks

Mnemonic systems are techniques or strategies consciously used to improve memory. They help use information already stored in long-term memory to make memorization an easier task.

Mnemonics, Wikipedia

Status

:thumbsup:Continuous IntegrationTest Coverage
MasterBuild StatusCoverage Status
DevelopmentBuild StatusCoverage Status

Installation

  • Add Mnemonix to your project’s dependencies in its mix.exs:
  def deps do
    [{:mnemonix, "~> 0.1.0"}]
  end
  • Ensure Mnemonix is started before your application:
  def application do
    [applications: [:mnemonix]]
  end

Contributing

Pull requests are welcome and greatly appreciated!

Here are useful commands if you’ve just forked the project and want to contribute:

  • mix deps.get - Get development dependencies
  • mix test - Run the tests
  • mix docs - Generate documentation