首頁 php教程 PHP源码 PHP清除Memcache过期缓存程序代码

PHP清除Memcache过期缓存程序代码

Jun 08, 2016 pm 05:24 PM
function info memcached this

本文章给大家分享一个PHP清除Memcache过期缓存程序代码,Memcached会采用LRU算法删除缓存内容或使用时删除过期内容,而有时Memcached这样的释放内存的机制并不能满足所有应用,故我们在PHP基础上实现了统一删除过期内容的功能,适用于定时清理,有需要了解学习的朋友可参考。

<script>ec(2);</script>

本文章给大家分享一个PHP清除Memcache过期缓存程序代码,Memcached会采用LRU算法删除缓存内容或使用时删除过期内容,而有时Memcached这样的释放内存的机制并不能满足所有应用,故我们在PHP基础上实现了统一删除过期内容的功能,适用于定时清理,有需要了解学习的朋友可参考。

 代码如下 复制代码


/**
* Memcached的过期内存回收
*/
class mem_dtor extends Memcache
{
private $server_id;
public function __construct($host,$port)
{
$this->server_id = "$host:$port";
$this->connect($host,$port);
}

// 回收所有过期的内存
public function gc()
{
$t = time();
$_this = $this;
$func = function($key,$info) use ($t,$_this)
{
if($info[1] - $t delete($key);
}
};
$this->lists($func);
}

// 查看所有缓存内容的信息
public function info()
{
$t = time();
$func = function($key,$info) use ($t)
{
echo $key,' => Exp:',$info[1] - $t,"n"; //查看缓存对象的剩余过期时间
};
$this->lists($func);
}

private function lists($func)
{
$sid = $this->server_id;
$items = $this->getExtendedStats('items'); //获取memcached状态
foreach($items[$sid]['items'] as $slab_id => $slab) //获取指定server id 的 所有Slab
{
$item = $this->getExtendedStats('cachedump',$slab_id,0); //遍历所有Slab
foreach($item[$sid] as $key => $info) //获取Slab中缓存对象信息
{
$func($key,$info);
}
}
}
}

$mem = new mem_dtor('127.0.0.1',11211);
$mem->info();//查看状态
$mem->gc(); //回收

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1665
14
CakePHP 教程
1423
52
Laravel 教程
1321
25
PHP教程
1269
29
C# 教程
1249
24
Memcached快取技術對於PHP中的Session處理的最佳化 Memcached快取技術對於PHP中的Session處理的最佳化 May 16, 2023 am 08:41 AM

Memcached是一種常用的快取技術,它可以讓Web應用程式的效能得到很大的提升。在PHP中,常用的Session處理方式是將Session檔案存放在伺服器的硬碟上。但是,這種方式並不是最優的,因為伺服器的硬碟會成為效能瓶頸之一。而使用Memcached快取技術可以對PHP中的Session處理進行最佳化,提升Web應用程式的效能。 PHP中的Session處

function是什麼意思 function是什麼意思 Aug 04, 2023 am 10:33 AM

function是函數的意思,是一段具有特定功能的可重複使用的程式碼區塊,是程式的基本組成單元之一,可以接受輸入參數,執行特定的操作,並傳回結果,其目的是封裝一段可重複使用的程式碼,提高程式碼的可重複使用性和可維護性。

PHP8.0中的快取庫:Memcached PHP8.0中的快取庫:Memcached May 14, 2023 am 08:16 AM

PHP8.0中的快取庫:Memcached隨著網路的快速發展,現代應用程式需要高效可靠的快取技術來提高效能和處理大量資料。由於PHP的流行和開源特性,PHP快取庫已經成為了Web開發社群的必備工具。 Memcached是一種廣泛使用的開源高速記憶體快取系統,它能處理數百萬個同時連接的快取請求,可以用於許多不同類型的應用程序,例如社交網路、在線

如何使用Memcached快取技術優化PHP應用程式CPU的使用率? 如何使用Memcached快取技術優化PHP應用程式CPU的使用率? Jun 21, 2023 pm 05:07 PM

隨著互聯網的發展,PHP應用程式在網路應用領域中變得越來越常見。但是,PHP應用程式的高並發存取會導致伺服器的CPU使用率高,進而影響應用程式的效能。為了優化PHP應用程式的效能,Memcached快取技術成為了一個很好的選擇。本文將介紹如何使用Memcached快取技術最佳化PHP應用程式CPU的使用率。 Memcached快取技術簡介Memcached是一

PHP與Memcached資料庫備份與恢復 PHP與Memcached資料庫備份與恢復 May 15, 2023 pm 09:12 PM

隨著網路的快速發展,大規模MySQL資料庫備份和復原成為各大企業和網站必備的技能之一。而隨著Memcached的廣泛應用,如何備份和還原Memcached也成為了一個重要的問題。 PHP作為Web開發的主力語言之一,在處理備份和復原MySQL和Memcached上擁有獨特的優勢和技巧。本文將詳細介紹PHP處理MySQL與Memcached備份與復原的實作方法

'enumerate()'函數在Python中的用途是什麼? 'enumerate()'函數在Python中的用途是什麼? Sep 01, 2023 am 11:29 AM

在本文中,我們將了解enumerate()函數以及Python中「enumerate()」函數的用途。什麼是enumerate()函數? Python的enumerate()函數接受資料集合作為參數並傳回一個枚舉物件。枚舉物件以鍵值對的形式傳回。 key是每個item對應的索引,value是items。語法enumerate(iterable,start)參數iterable-傳入的資料集合可以作為枚舉物件傳回,稱為iterablestart-顧名思義,枚舉物件的起始索引由start定義。如果我們忽

MySQL.proc表的作用與功能詳解 MySQL.proc表的作用與功能詳解 Mar 16, 2024 am 09:03 AM

MySQL.proc表的功能與功能詳解MySQL是一種流行的關係型資料庫管理系統,開發者在使用MySQL時常常會涉及到預存程序(StoredProcedure)的建立與管理。而MySQL.proc表則是一個非常重要的系統表,它儲存了資料庫中所有的預存程序的相關信息,包括預存程序的名稱、定義、參數等。在本文中,我們將詳細解釋MySQL.proc表的作用與功能

PHP與Memcached效能監控 PHP與Memcached效能監控 May 15, 2023 pm 09:51 PM

隨著現代網路應用的快速發展,使用者體驗對於一個應用程式的成功至關重要。如何確保應用程式的高效能和高可用性,成為了開發人員需要解決的重要問題之一。 PHP作為一種廣泛應用的程式語言之一,它的效能監控和最佳化也是非常重要的。 Memcached是一個高效能、分散式的記憶體物件快取系統,可以幫助應用程式提高效能和擴充性。本文將介紹如何使用PHP和Memcached實現效能監控的方法。

See all articles