rnr1721 / le7-cache-memcache
PSR-16 Memcache adapter for Le7 framework or any other PHP projects
1.0.6
2023-05-20 15:57 UTC
Requires
- php: >=8.1
- ext-memcached: ^3.2
- rnr1721/le7-cache: ^1.0
Requires (Dev)
- phpunit/phpunit: ^10.0
- vimeo/psalm: ^5.7
README
It make enable to use memcache or memcached with le7-framework or any PHP project
Requirements
- PHP 8.1 or higher.
- Composer 2.0 or higher.
What it can?
- Standard implementation of PSR-16 Simple Cache
- Out of the box can use Filesystem, memory and session adapters
- Use memcache and memcached for caching
Installation
composer require rnr1721/le7-cache-memcache
Testing
composer test
How it works?
use Core\Cache\SCFactoryMemcacheGeneric; $cacheFactory = new SCFactoryMemcacheGeneric(); // For memcache $cache = $cacheFactory->getMemcache("127.0.0.1", 11211); // For memcached $cache = $cacheFactory->getMemcached("127.0.0.1", 11211); $data = [ 'value1' => 'The 1 value', 'value2' => 'The 2 value' ]; // Put data in cache // Set cache key, value and time-to-live $cache->set('mykey', $data, 5000); // Get value from cache $result = $cache->get('mykey'); print_r($result);
implemented methods
use Psr\SimpleCache\CacheInterface; public function get(string $key, mixed $default = null): mixed; public function set(string $key, mixed $value, null|int|DateInterval $ttl = null): bool; public function delete(string $key): bool; public function clear(): bool; public function getMultiple(iterable $keys, mixed $default = null): iterable; public function setMultiple(iterable $values, null|int|\DateInterval $ttl = null): bool; public function deleteMultiple(iterable $keys): bool; public function has(string $key): bool;
factory methods
use Core\Cache\Interfaces\SCFactoryMemcache; /** * Get memcache instance of SimpleCache * @param string $host Memcache host * @param int $port Memcache port * @return CacheInterface */ public function getMemcache(string $host = "127.0.0.1", int $port = 11211): CacheInterface; /** * Get memcached instance of SimpleCache * @param string $host Memcached host * @param int $port Memcached port * @return CacheInterface */ public function getMemcached(string $host = "127.0.0.1", int $port = 11211): CacheInterface;