An open API service indexing awesome lists of open source software.

https://github.com/pardnchiu/php-cache

PD\Cache is a hybrid caching system for PHP that combines Redis and filesystem caching with automatic filesystem fallback support.
https://github.com/pardnchiu/php-cache

cache pardnchiu pardnio pardnltd php-composer php-library

Last synced: about 2 months ago
JSON representation

PD\Cache is a hybrid caching system for PHP that combines Redis and filesystem caching with automatic filesystem fallback support.

Awesome Lists containing this project

README

        

# PD\Cache

> PD\Cache is a hybrid caching system for PHP that combines Redis and filesystem caching with automatic filesystem fallback support.

![tag](https://img.shields.io/badge/tag-PHP%20Library-bb4444)
![size](https://img.shields.io/github/size/pardnchiu/PHP-Cache/src/Cache.php)

![version](https://img.shields.io/packagist/v/pardnchiu/cache)
![download](https://img.shields.io/packagist/dm/pardnchiu/cache)

## Features

- Hybrid caching strategy (Redis + Filesystem)
- Automatic fallback to filesystem when Redis is unavailable
- Built-in HTML / Text content optimization
- Automatic cache expiration handling
- Cache cleanup mechanism
- MD5 key generation for cache entries

## Key Capabilities

- Get/Set cache with automatic storage selection
- HTML/Text content minification
- Automatic cache expiration
- Cache cleanup for expired entries
- System resilience fallback mechanism

## Dependencies

- `pardnchiu/redis` - For Redis caching support (optional)
- `/storage/caches` - Write permission on storage directory

## How to Use

### Installation

```shell
composer require pardnchiu/cache
```

```php
// Initialize cache with Redis support
$redis = new PD\Redis();
$cache = new PD\Cache($redis);

// Set cache with 1-hour expiration
$cache->set("page-key", $content, 3600);

// Get cached content
$content = $cache->get("page-key");

// Clean expired cache entries
$cache->clean();

// Initialize cache without Redis (filesystem only)
$cache = new PD\Cache();
```

## License

This source code project is licensed under the [MIT](https://github.com/pardnchiu/PHP-Cache/blob/main/LICENSE) license.

## Creator

#### Pardn Chiu






---

©️ 2024 [Pardn Chiu](https://pardn.io)