code-corner/performance-cache

一个支持多种缓存策略的PHP性能优化缓存库。

1.0.1 2024-07-21 13:46 UTC

This package is auto-updated.

Last update: 2024-09-21 15:37:30 UTC


README

PerformanceCache包提供了一种遵循PSR-16(简单缓存)接口的强大缓存解决方案,允许开发者在PHP应用程序中高效地管理缓存操作。

安装

您可以通过Composer安装PerformanceCache包。在您的终端中运行以下命令

composer require codecorners/performance-cache

用法

初始化缓存

要开始使用缓存,初始化一个Cache实例。默认情况下,它使用FileCacheHandler进行基于文件的缓存

use CodeCorner\PerformanceCache\Cache;
use CodeCorner\PerformanceCache\FileCacheHandler;

// Initialize cache with default handler (FileCacheHandler)
$cache = new Cache();

您可以可选地向构造函数传递自定义的缓存处理器

use CodeCorner\PerformanceCache\Cache;
use App\CustomCacheHandler; // Replace with your custom cache handler

// Initialize cache with custom handler
$customHandler = new CustomCacheHandler();
$cache = new Cache($customHandler);

基本的缓存操作

设置缓存值

$key = 'my_key';
$value = 'my_value';
$ttl = 3600; // Optional TTL (time-to-live) in seconds

if ($cache->set($key, $value, $ttl)) {
    echo "Value successfully cached!\n";
} else {
    echo "Failed to cache the value.\n";
}

获取缓存值

$key = 'my_key';
$defaultValue = 'default_value'; // Optional default value if key not found

$cachedValue = $cache->get($key, $defaultValue);

echo "Cached Value: $cachedValue\n";

删除缓存值

$key = 'my_key';

if ($cache->delete($key)) {
    echo "Cache entry successfully deleted!\n";
} else {
    echo "Failed to delete the cache entry.\n";
}

清除所有缓存值

if ($cache->clear()) {
    echo "Cache cleared successfully!\n";
} else {
    echo "Failed to clear the cache.\n";
}

处理多个缓存条目

获取多个缓存条目
$keys = ['key1', 'key2', 'key3'];
$defaultValue = 'default_value'; // Optional default value if any key is not found

$cachedValues = $cache->getMultiple($keys, $defaultValue);

foreach ($cachedValues as $key => $value) {
    echo "Key: $key, Value: $value\n";
}
设置多个缓存条目
$values = [
    'key1' => 'value1',
    'key2' => 'value2',
    'key3' => 'value3',
];
$ttl = 3600; // Optional TTL for all entries

if ($cache->setMultiple($values, $ttl)) {
    echo "Multiple values successfully cached!\n";
} else {
    echo "Failed to cache multiple values.\n";
}
删除多个缓存条目
$keysToDelete = ['key1', 'key2', 'key3'];

if ($cache->deleteMultiple($keysToDelete)) {
    echo "Multiple cache entries deleted successfully!\n";
} else {
    echo "Failed to delete multiple cache entries.\n";
}

检查键是否存在于缓存中

$key = 'my_key';

if ($cache->has($key)) {
    echo "Key '$key' exists in cache.\n";
} else {
    echo "Key '$key' does not exist in cache.\n";
}

错误处理

Cache类提供了对缓存操作的基本错误处理。如果操作失败(例如,缓存读取、写入、删除),则使用error_log()记录错误信息。

许可证

此包根据MIT许可证授权。有关详细信息,请参阅LICENSE文件。

作者

由Yash Gupta编写。

将占位符(如Yash Gupta)替换为您的实际姓名或首选笔名。确保LICENSE文件存在于您的项目目录中,并包含适当的许可证文本以便分发。

此README文件为希望将PerformanceCache包集成到PHP项目中的开发者提供了全面的指导,涵盖了安装、基本用法示例、错误处理考虑事项和许可信息。根据您的特定实现和文档风格调整示例和说明。