ホームページ >バックエンド開発 >PHPチュートリアル >PHP キューの使用例、php キューの例_PHP チュートリアル

PHP キューの使用例、php キューの例_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:15:05835ブラウズ

PHPキューの使用例、PHPキューの例

この記事の例では、PHP キューの使用法について説明します。参考のためにみんなで共有してください。具体的な分析は次のとおりです:

キューとは何ですか? 特定のアプリケーションでは、通常、キューはバックエンドでの挿入操作と削除操作のみを許可します。フロントエンド。

どのような状況でキューが使用されますか? もちろん、他のより良い方法が除外されるわけではありません。

キューは、データベース サーバーの負荷を軽減するためにも使用できます。即時以外のデータをキューに入れ、データベースがアイドル状態のとき、または一定の時間が経過した後に実行することもできます。たとえば、アクセスカウンターの場合、増加した SQL をすぐに実行する必要はありません。キューを使用しない場合、SQL ステートメントは次のようになります。

table1 を更新 set count=count+1 where id=1

table1 を更新 set count=count+1 where id=1
table1 を更新 set count=count+1 where id=1
table1 を更新 set count=count+1 where id=1
update table1 set count=count+1 where id=1

キューを使用すると、次のことができます:

update table1 set count=count+5 where id=1

SQL リクエストの数を減らし、サーバーの負荷を軽減します。 もちろん、トラフィック量が少ない Web サイトではこれは必要ありません。

次のキュー クラス:

コードをコピーします コードは次のとおりです:
/**
* キュー
*
* @著者ジャクロン
*
*/
クラスキュー
{
プライベート $_queue = array(); 保護された $キャッシュ = null; 保護された $queuecachename

/**
*施工方法
* @param string $queuename キュー名
*/
関数 __construct($queuename)
{

$this->cache =& キャッシュ::instance(); $this->queuecachename = 'queue_'

$result = $this->cache->get($this->queuecachename); if (is_array($result)) {
$this->_queue = $result; }
}

/**
* ユニットをキューの最後尾に置きます
* @param 混合 $value
*/
関数 enQueue($value)
{
$this->_queue[] = $value; $this->cache->set($this->queuecachename, $this->_queue);
$this を返します。 }

/**
* キューの先頭にある 1 つ以上のユニットを削除します
* @param int $num
*/
関数sliceQueue($num = 1)
{
if (count($this->_queue) < $num) {
$num = count($this->_queue)
}
$output = array_splice($this->_queue, 0, $num); $this->cache->set($this->queuecachename, $this->_queue);
$output を返します。 }

/**
* キューの先頭にあるユニットをキューから削除します
*/
関数 deQueue()
{
$entry = array_shift($this->_queue); $this->cache->set($this->queuecachename, $this->_queue);
$entry を返す
}

/**
* 戻りキューの長さ
*/
関数サイズ()
{
戻り数($this->_queue)
}

/**
* キューの最初のユニットを返します
*/
関数peek()
{
$this->_queue[0] を返します
}

/**
* キュー内の 1 つ以上のユニットを返します
* @param int $num
*/
関数ピーク($num)
{
if (count($this->_queue) < $num) {
$num = count($this->_queue)
}
return array_slice($this->_queue, 0, $num); }

/**
* キューを破棄します
*/
関数 destroy()
{
$this->cache->remove($this->queuecachename); }
}


この記事で説明した内容が皆様の PHP プログラミング設計に役立つことを願っています。




スタックかキューか、それぞれ2つの応用例を挙げてみましょう





スタックとは、データが最初に入力されてから出力されることを意味します。
キューとは、最初に入力されたデータが最初に出力されることを意味します。非常に長いので例を挙げるのは難しいですが、先生がスタックとキューについて 2 つのレッスンを行いました。お役に立てば幸いです。

PHP を使用して双方向キューを実装する

不明な問題

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/906670.html技術記事 PHP キューの使用例、php キューの例 この記事では、PHP キューの使用方法について説明します。参考のためにみんなで共有してください。具体的な分析は次のとおりです: キューとは何ですか? 先入れ先出し線形テーブルです...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。