Each adapter provides a consistent interface for the basic cache operations of write, read,
delete, increment and decrement which can always be _used interchangeably_ between and
must be implemented by all adapters.
Functionality for clear, clean may or may not be implemented by an adapter. Calling a
method that is not implemented will simply return false.
An adapter may provide access to additional methods. It's always possible to call them directly.
This allows a very wide range of flexibility, at the cost of portability.
Cache::adapter('default')->methodName($argument);
It is not guaranteed that all operations are atomic, but adapters will try to perform atomic
operations wherever possible. If you rely on atomicity of operations you must choose
an appropriate adapter that explitcly supports these.
Adapters may handle serialization and/or multi-keys natively others only synthetically.