sokil/php-2q

2Q 缓存实现

0.0.1 2023-03-14 13:04 UTC

This package is auto-updated.

Last update: 2024-09-14 16:19:30 UTC


README

Coverage Status

Q2 缓存算法是一种旨在平衡缓存中频繁访问和偶尔访问项的缓存算法。它通过将缓存分为三个缓冲区来实现:一个频繁访问的缓冲区(输入),一个适度访问的缓冲区(输出),和一个偶尔访问的缓冲区(主要)。"输入"是最小的缓冲区,包含最频繁访问的项。"输出"缓冲区更大,包含比"输入"中访问频率低但比"主要"中访问频率高的项。"主要"是最大的缓冲区,包含很少访问的项。

完整描述请见 https://www.vldb.org/conf/1994/P439.PDF

安装

composer req sokil/php-2q

使用方法

<?php

$cache = new TwoQCache(
    inQueueCapacity: 2,
    outQueueCapacity: 4,
    mainQueueCapacity: 2
);

$cache->set('key', 'value');
$cache->get('key');