jerryjean / lrucache
PHP LRU Cache 实现
v1.1.1
2020-09-22 22:52 UTC
Requires
- php: >=5.4.0
- satooshi/php-coveralls: ^1.0
Requires (Dev)
README
PHP LRU Cache 实现
从 [https://github.com/justin-robinson/php-lrucache] 分支
变更
- 将方法改为受保护的而不是私有的
简介
什么是 LRU Cache?
LRU 代表最近最少使用。它是一种通常具有固定容量的缓存,它会丢弃最旧的条目。这在你需要控制缓存内存使用时特别有用。
如果你想了解更多关于 LRU Cache 的细节,你可以阅读 这篇文章,它解释得相当好。你也可以阅读关于 LRU 算法的这篇优秀的论文。
实现
此代码处于早期阶段。我需要编写更多测试来找出可能的原始代码部分,以便获得一些性能,如果 PHP 可以做到的话 :P
此实现类似于 LinkedHashMap。目前我只是在代码中乱试,决定保持简单,使用简单的关联数组作为原始的哈希表。
安装 (composer)
将包添加到你的 composer.json 文件中
"require": {
"jerryjean/lrucache": "dev-master"
}
然后运行以下命令
composer install
使用方法
使用方法非常简单
require_once('vendor/autoload.php'); // composer autoader
$cache = new \LRUCache\LRUCache(1000);
$cache->put('mykey', 'arrow to the knee');
echo $cache->get('mykey');
你可以使用测试来尝试负载测试等。