PHP LRU Cache Using SplDoublyLinkedList
PHP code snippet implementing a Least Recently Used (LRU) cache using SplDoublyLinkedList and associative arrays. Learn how to manage limited-memory caching.
edit_note
PHP Code Editor
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
/**
* Simple LRU (Least Recently Used) Cache Implementation in PHP
* using SplDoublyLinkedList + associative map.
*
* This class supports get/set operations with automatic eviction
* of the least recently used item when capacity is exceeded.
*/
class LRUCache {
private int $capacity;
private array $map = [];
private SplDoublyLinkedList $order;
public function __construct(int $capacity) {
$this->capacity = $capacity;
$this->order = new SplDoublyLinkedList();
$this->order->setIteratorMode(SplDoublyLinkedList::IT_MODE_FIFO);
}
public function get(string $key): mixed {
if (!isset($this->map[$key])) {
return null;
}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
settingsPHP Version
panorama_fish_eye
7.2
panorama_fish_eye
7.4
panorama_fish_eye
8.0
panorama_fish_eye
8.1
task_alt
8.2
panorama_fish_eye
8.3
panorama_fish_eye
8.4
panorama_fish_eye
8.5
terminal
Execution Result
play_circle_outline
Ready to execute
Click the "Run Script" button to see the output here
article
Description
Implement an efficient LRU (Least Recently Used) cache in PHP using SplDoublyLinkedList and associative arrays. Fully functional example with automatic eviction.
Comments
No comments yet
Be the first to share your thoughts!