Simple cache implementing PSR-16: Common Interface for Caching Libraries connecting to Redis using PhpRedis.
We are aware of the PHP-Cache Project with all sorts of adapters- even for PhpRedis and Predis.
We were in need of a simple cache solution just for Redis without all the bells and whistles of PSR-6 and without all the abstraction layers necessary to implement multiple storage backends.
composer require kba-team/cache "^1.1"
We use Semver.
<?php
//create object to access the redis server
$redis = \kbATeam\Cache\Redis::tcp('redis-server', 10);
//store value in redis server
if (!$redis->has('hello')) {
$redis->set('hello', 'Hello World!');
}
//retrieve value from redis server
echo $redis->get('hello');
Testing requires a running redis server.
composer install
A running redis server is required by the unit tests.
vendor/bin/phpunit
You can set the following environment variables to override the default values expected by the unit tests.
REDIS_SERVER_HOST
: The hostname or IP address of the redis server. Default:127.0.0.1
REDIS_SERVER_PORT
: The TCP port the redis server is listening on. Default:6379
REDIS_SERVER_DBINDEX
: The database to use on the redis server. Default:0
REDIS_SERVER_PASSWORD
: The password used to access the redis server. Default: no password.
docker run \
--rm \
--init \
--detach \
--name redis-server \
redis:3.0
Get the containers' IP address:
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' redis-server