Download the PHP package jdwx/array-cache without Composer
On this page you can find all versions of the php package jdwx/array-cache. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download jdwx/array-cache
More information about jdwx/array-cache
Files in jdwx/array-cache
Package array-cache
Short Description A trivial implementation of PSR CacheInterface using an in-memory array.
License MIT
Informations about the package array-cache
jdwx/array-cache
This is a trivial implementation of PSR CacheInterface using an in-memory array.
PSR Cache implementations are frequently heavyweight. They can provide a ton of backend options that the user may not need or they might be closely tied to a specific framework that the user doesn't use.
This library is designed to provide a simple, lightweight, and (nearly) dependency-free PSR cache implementation that can be used as a default or placeholder.
For example, this is useful in libraries where a cache is necessary but the implementation will be chosen by the library's users. It can also be used as a development dependency to provide a cache implementation for testing.
The cache has a fully-tested implementation of TTLs with microsecond precision, so if you set something to expire in one second, it will expire in one second, not 0-2 seconds.
The cache can be prepopulated with a JSON string or an array of data. It also supports JSON serialization so you can persist the cache or inspect its contents if necessary. (Also useful for testing.)
Requirements
This library requires PHP 8.0 or later. psr/simple-cache is the only runtime dependency.
Installation
Usage
The ArrayCache class implements the PSR-16 CacheInterface.
In addition, it can be preloaded with data:
It can be serialized to JSON, which will preserve the TTLs:
It can also be preloaded with JSON:
Both importing and exporting JSON will drop expired items.
Stability
This library is stable and has a full suite of unit tests. It is considered suitable for production use within its problem domain. I.e., don't use this where you should be using something like Redis or symfony/cache.
History
This library was created in 2024 because (the otherwise excellent) cache/array-adapter is no longer maintained.