ホームページ 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 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

機能とはどういう意味ですか? 機能とはどういう意味ですか? Aug 04, 2023 am 10:33 AM

ファンクションとは、関数を意味します。これは、特定の関数を備えた再利用可能なコード ブロックです。プログラムの基本コンポーネントの 1 つです。入力パラメータを受け取り、特定の操作を実行し、結果を返すことができます。その目的は、再利用可能なコード ブロックをカプセル化することです。コードの再利用性と保守性を向上させるコード。

Memcached キャッシュ テクノロジにより、PHP でのセッション処理が最適化されます。 Memcached キャッシュ テクノロジにより、PHP でのセッション処理が最適化されます。 May 16, 2023 am 08:41 AM

Memcached は、Web アプリケーションのパフォーマンスを大幅に向上させる、一般的に使用されるキャッシュ テクノロジです。 PHP で一般的に使用されるセッション処理方法は、サーバーのハードディスクにセッション ファイルを保存することです。ただし、サーバーのハードディスクがパフォーマンスのボトルネックの 1 つになるため、この方法は最適ではありません。 Memcached キャッシュ テクノロジを使用すると、PHP でのセッション処理を最適化し、Web アプリケーションのパフォーマンスを向上させることができます。 PHPでのセッション

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 データベースのバックアップとリカバリは、大手企業や Web サイトにとって不可欠なスキルの 1 つになりました。 Memcached の普及に伴い、Memcached のバックアップと復元の方法も重要な問題となっています。 Web 開発の主要な言語の 1 つである PHP には、MySQL と Memcached のバックアップとリカバリを処理する上で独自の利点とスキルがあります。この記事では、MySQL と Memcached のバックアップとリカバリを PHP で処理する実装方法を詳しく紹介します。

Python の「enumerate()」関数の目的は何ですか? Python の「enumerate()」関数の目的は何ですか? Sep 01, 2023 am 11:29 AM

この記事では、Python の enumerate() 関数と「enumerate()」関数の目的について学びます。 enumerate() 関数とは何ですか? Python の enumerate() 関数は、データ コレクションをパラメータとして受け取り、列挙オブジェクトを返します。列挙オブジェクトはキーと値のペアとして返されます。キーは各項目に対応するインデックス、値は項目です。構文 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

最新のインターネット アプリケーションが急速に開発されているため、アプリケーションの成功にはユーザー エクスペリエンスが非常に重要です。アプリケーションの高いパフォーマンスと高可用性をどのように確保するかは、開発者が解決する必要がある重要な問題の 1 つとなっています。広く使用されているプログラミング言語の 1 つである PHP のパフォーマンスの監視と最適化も非常に重要です。 Memcached は、アプリケーションのパフォーマンスとスケーラビリティの向上に役立つ、高性能の分散メモリ オブジェクト キャッシュ システムです。この記事では、PHP と Memcached を使用してパフォーマンス監視を実装する方法を紹介します。

See all articles