nicklasw / lrucache
PHP LRU Cache 实现
v0.3.0
2014-12-07 21:28 UTC
Requires
- php: >=5.3.0
Requires (Dev)
- phpunit/php-code-coverage: 1.2.*@stable
- phpunit/phpunit: 3.7@stable
- phpunit/phpunit-mock-objects: 1.2.*@stable
This package is not auto-updated.
Last update: 2024-09-16 20:16:24 UTC
README
PHP LRU Cache 实现
从 https://github.com/rogeriopvl/php-lrucache 分支而来
变更
- 将插入缓存的成本从 O(n) 降低到 O(1)
- 使缓存可迭代
- 修复 phpunit 测试
简介
什么是 LRU Cache?
LRU 代表最近最少使用。它是一种通常具有固定容量的缓存,丢弃最旧的条目。这在需要控制缓存内存使用时特别有用。
如果您想了解更多关于 LRU Cache 的信息,您可以阅读 这篇文章,它很好地解释了它。如果您想了解更多有趣的资料,您可以阅读 这篇关于 LRU 算法的优秀论文。
实现
这段代码还处于早期阶段。我需要编写更多测试,以找出可能的低效代码部分,以便获得一些性能提升,如果 PHP 能做到的话 :P
这个实现类似于 LinkedHashMap。目前我只是在玩弄代码,并决定保持简单,使用简单的关联数组作为原始的哈希表。
安装(composer)
将包添加到您的 composer.json
文件中
"require": {
"justin-robinson/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');
您可以使用测试来尝试加载测试等。