欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

用PHP寫的基于Memcache的Queue實現(xiàn)代碼

 更新時間:2011年11月27日 17:06:32   作者:  
用PHP寫的基于Memcache的Queue實現(xiàn)代碼,需要的朋友可以參考下。
php類代碼:
復(fù)制代碼 代碼如下:

<?php
class MQ{
public static $client;
private static $m_real;
private static $m_front;
private static $m_data = array();
const QUEUE_MAX_NUM = 100000000;
const QUEUE_FRONT_KEY = '_queue_item_front';
const QUEUE_REAL_KEY = '_queue_item_real';
public static function setupMq($conf) {
self::$client = memcache_pconnect($conf);
self::$m_real = memcache_get(self::$client, self::QUEUE_REAL_KEY);
self::$m_front = memcache_get(self::$client, self::QUEUE_FRONT_KEY);
if (!isset(self::$m_real) || emptyempty(self::$m_real)) {
self::$real= 0;
}
if (!isset(self::$m_front) || emptyempty(self::$m_front)) {
self::$m_front = 0;
}
return self::$client;
}
public static function add($queue, $data) {
$result = false;
if (self::$m_real < self::QUEUE_MAX_NUM) {
if (memcache_add(self::$client, $queue.self::$m_real, $data)) {
self::mqRealChange();
$result = true;
}
}
return $result;
}
public static function get($key, $count) {
$num = 0;
for ($i=self::$m_front;$i<self::$m_front + $count;$i++) {
if ($dataTmp = memcache_get(self::$client, $key.$i)) {
self::$m_data[] = $dataTmp;
memcache_delete(self::$client, $key.$i);
$num++;
}
}
if ($num>0) {
self::mqFrontChange($num);
}
return self::$m_data;
}
private static function mqRealChange() {
memcache_add(self::$client, self::QUEUE_REAL_KEY, 0);
self::$m_real = memcache_increment(self::$client, self::QUEUE_REAL_KEY, 1);
}
private static function mqFrontChange($num) {
memcache_add(self::$client, self::QUEUE_FRONT_KEY, 0);
self::$m_front = memcache_increment(self::$client, self::QUEUE_FRONT_KEY, $num);
}
public static function mflush($memcache_obj) {
memcache_flush($memcache_obj);
}
public static function Debug() {
echo 'real:'.self::$m_real."<br>/r/n";
echo 'front:'.self::$m_front."<br>/r/n";
echo 'wait for process data:'.intval(self::$m_real - self::$m_front);
echo "<br>/r/n";
echo '<pre>';
print_r(self::$m_data);
echo '<pre>';
}
}
define('FLUSH_MQ',0);//CLEAN ALL DATA
define('IS_ADD',0);//SET DATA
$mobj = MQ::setupMq('127.0.0.1','11211');
if (FLUSH_MQ) {
MQ::mflush($mobj);
} else {
if (IS_ADD) {
MQ::add('user_sync', '1test');
MQ::add('user_sync', '2test');
MQ::add('user_sync', '3test');
MQ::add('user_sync', '4test');
MQ::add('user_sync', '5test');
MQ::add('user_sync', '6test');
} else {
MQ::get('user_sync', 10);
}
}
MQ::Debug();
?>

使用方法
復(fù)制代碼 代碼如下:

MQ::setupMq('127.0.0.1','11211');//連接
MQ::add($key, $value);//添加數(shù)據(jù)到隊列
MQ::add($key, $value);//添加數(shù)據(jù)到隊列
MQ::add($key, $value);//添加數(shù)據(jù)到隊列
MQ::add($key, $value);//添加數(shù)據(jù)到隊列
MQ::add($key, $value);//添加數(shù)據(jù)到隊列
MQ::add($key, $value);//添加數(shù)據(jù)到隊列
MQ:get($key, 10);//取出一定數(shù)量的數(shù)據(jù)

相關(guān)文章

  • phpMyAdmin2.11.6安裝配置方法

    phpMyAdmin2.11.6安裝配置方法

    今天調(diào)試PHP數(shù)據(jù)庫Mysql,在單位的電腦上安裝phpMyAdmin數(shù)據(jù)庫管理軟件,本來是很簡單的事,卻出現(xiàn)了幾個問題:1/無法載入mcrypt擴(kuò)展,請檢查PHP配置;/配置文件現(xiàn)在需要絕密的短語密碼(blowfish_secret);3/#2003-服務(wù)器沒有響應(yīng)。
    2008-08-08
  • php模擬post上傳圖片實現(xiàn)代碼

    php模擬post上傳圖片實現(xiàn)代碼

    這篇文章主要為大家詳細(xì)介紹了php模擬post上傳圖片實現(xiàn)代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-06-06
  • 一個PHP數(shù)組應(yīng)該有多大的分析

    一個PHP數(shù)組應(yīng)該有多大的分析

    PHP在數(shù)組處理上非常低效,尤其是內(nèi)存占用較多,常常使得httpd進(jìn)程消耗太多資源。
    2009-07-07
  • 兩個強(qiáng)悍的php 圖像處理類1

    兩個強(qiáng)悍的php 圖像處理類1

    基本圖片處理,用于完成圖片縮入,水印添加,當(dāng)水印圖超過目標(biāo)圖片尺寸時,水印圖能自動適應(yīng)目標(biāo)圖片而縮小,水印圖可以設(shè)置跟背景的合并度
    2009-06-06
  • PHP基于ffmpeg實現(xiàn)轉(zhuǎn)換視頻,截圖及生成縮略圖的方法

    PHP基于ffmpeg實現(xiàn)轉(zhuǎn)換視頻,截圖及生成縮略圖的方法

    這篇文章主要介紹了PHP基于ffmpeg實現(xiàn)轉(zhuǎn)換視頻,截圖及生成縮略圖的方法,涉及php使用ffmpeg針對視頻文件的截圖、生成縮略圖等相關(guān)操作技巧,需要的朋友可以參考下
    2017-08-08
  • php cookie的操作實現(xiàn)代碼(登錄)

    php cookie的操作實現(xiàn)代碼(登錄)

    cookie 常用于識別用戶。cookie 是服務(wù)器留在用戶計算機(jī)中的小文件。每當(dāng)相同的計算機(jī)通過瀏覽器請求頁面時,它同時會發(fā)送 cookie。通過 PHP,您能夠創(chuàng)建并取回 cookie 的值。
    2010-12-12
  • 用sql命令修改數(shù)據(jù)表中的一個字段為非空(not null)的語句

    用sql命令修改數(shù)據(jù)表中的一個字段為非空(not null)的語句

    今天群里的一個朋友問如何用sql命令修改數(shù)據(jù)表中的一個字段為非空(not null),經(jīng)常測試下面的代碼即可。
    2010-06-06
  • PHP/ThinkPHP實現(xiàn)批量打包下載文件的方法示例

    PHP/ThinkPHP實現(xiàn)批量打包下載文件的方法示例

    最近因為工作的需要,要根據(jù)條件自動打包供下載的功能,查找相關(guān)資料終于解決了,所以下面這篇文章主要給大家介紹了利用PHP或者ThinkPHP如何實現(xiàn)批量打包下載文件的方法示例,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-07-07
  • php array_chunk()函數(shù)用法與注意事項

    php array_chunk()函數(shù)用法與注意事項

    這篇文章主要介紹了php array_chunk()函數(shù)用法與注意事項,結(jié)合實例形式分析了php數(shù)組分割函數(shù)array_chunk()相關(guān)功能、用法及操作注意事項,需要的朋友可以參考下
    2019-07-07
  • PHP基于GD庫實現(xiàn)的生成圖片縮略圖函數(shù)示例

    PHP基于GD庫實現(xiàn)的生成圖片縮略圖函數(shù)示例

    這篇文章主要介紹了PHP基于GD庫實現(xiàn)的生成圖片縮略圖函數(shù),涉及php針對圖片屬性相關(guān)操作技巧,需要的朋友可以參考下
    2017-07-07

最新評論