Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/robinn1/cache
Simple cache for PHP with support for Redis, Memcached, APCu and Files.
https://github.com/robinn1/cache
cache caching file memcache php redis
Last synced: about 8 hours ago
JSON representation
Simple cache for PHP with support for Redis, Memcached, APCu and Files.
- Host: GitHub
- URL: https://github.com/robinn1/cache
- Owner: RobiNN1
- License: mit
- Created: 2021-11-15T00:42:26.000Z (about 3 years ago)
- Default Branch: master
- Last Pushed: 2024-08-27T10:16:59.000Z (3 months ago)
- Last Synced: 2024-08-27T11:34:57.841Z (3 months ago)
- Topics: cache, caching, file, memcache, php, redis
- Language: PHP
- Homepage:
- Size: 146 KB
- Stars: 6
- Watchers: 4
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Simple cache
Simple cache for PHP with support for Redis, Memcached, APCu, and Files.
![Visitor Badge](https://visitor-badge.laobi.icu/badge?page_id=RobiNN1.Cache)
## Installation
```
composer require robinn/cache
```## Usage
```php
$cache = new RobiNN\Cache\Cache([
// Available config options
'storage' => 'file', // apcu|file|memcached|redis
'file' => [
'path' => __DIR__.'/cache', // The path to the folder containing the cached content.
//'secret' => 'secret_key', // For securing file names (optional).
//'remove_expired' => true, // Automatically remove all expired keys (it can affect performance) (optional).
],
'redis' => [
'host' => '127.0.0.1', // Optional when a path is specified.
'port' => 6379, // Optional when the default port is used.
//'database' => 0, // Default database (optional).
//'username' => '', // ACL - requires Redis >= 6.0 (optional).
//'password' => '', // Optional.
//'path' => '/var/run/redis/redis-server.sock', // Unix domain socket (optional).
],
'memcached' => [
'host' => '127.0.0.1', // Optional when a path is specified.
'port' => 11211, // Optional when the default port is used.
//'path' => '/var/run/memcached/memcached.sock', // Unix domain socket (optional).
//'sasl_username' => '', // SASL auth (optional).
//'sasl_password' => '', // SASL auth (optional).
],
]);$key = 'item-key';
if ($cache->exists($key)) {
$data = $cache->get($key);
} else {
$data = 'item-value';
$cache->set($key, $data);
}// The above code can also be shortened to one line
$data = $cache->remember($key, 'item-value');print_r($data); // item-value
```## Methods
| Name | Return | Description |
|-------------|--------|--------------------------------------------|
| isConnected | bool | Check connection. |
| exists | bool | Check if the data is cached. |
| set | bool | Save data to cache. |
| get | mixed | Get data by key. |
| remember | mixed | Get the data or store if it is not cached. |
| delete | bool | Delete data by key. |
| flush | bool | Delete all data from cache. |## Requirements
- PHP >= 8.2