key-value-store

by webmozart

webmozart / key-value-store

A key-value store API with implementations for different backends.

126 Stars 8 Forks Last release: about 4 years ago (1.0.0) MIT License 145 Commits 8 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

Webmozart Key-Value-Store

Build Status Build status Scrutinizer Code Quality Latest Stable Version Total Downloads Dependency Status

Latest release: 1.0.0

A key-value store API with implementations for different backends.

API Documentation

All contained key-value stores implement the interface

KeyValueStore
. The following stores are currently supported:

The interface

CountableStore
is supported by the following classes:

The interface

SortableStore
is supported by the following classes:

The decorator

CachingDecorator
exists for caching another store instance in a Doctrine cache.

FAQ

Why not use Doctrine Cache?

Caching is not key-value storage. When you use a cache, you accept that keys may disappear for various reasons:

  • Keys may expire.
  • Keys may be overwritten when the cache is full.
  • Keys may be lost after shutdowns.
  • ...

In another word, caches are volatile. This is not a problem, since the cached data is usually stored safely somewhere else. The point of a cache is to provide high-performance access to frequently needed data.

Key-value stores, on the other hand, are persistent. When you write a key to a key-value store, you expect it to be there until you delete it. It would be a disaster if data would silently disappear from a key-value store (or any other kind of database).

Hence the two libraries fulfill two very different purposes, even if their interfaces and implementations are often similar.

The

CachingDecorator
actually uses a Doctrine Cache object to cache the data of a persistent
KeyValueStore
.

Authors

Installation

Use Composer to install the package:

$ composer require webmozart/key-value-store

Contribute

Contributions to the package are always welcome!

Support

If you are having problems, send a mail to [email protected] or shout out to @webmozart on Twitter.

License

All contents of this package are licensed under the MIT license.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.