justin-robinson / lrucache
PHP LRU Cache 实现
v1.1.0
2016-06-03 19:04 UTC
Requires
- php: >=5.4.0
- satooshi/php-coveralls: ^1.0
Requires (Dev)
This package is not auto-updated.
Last update: 2024-09-14 19:03:59 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');
您可以使用测试来尝试诸如负载测试等操作。