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

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

 更新時(shí)間:2011年11月27日 17:06:32   作者:  
用PHP寫的基于Memcache的Queue實(shí)現(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ù)到隊(duì)列
MQ::add($key, $value);//添加數(shù)據(jù)到隊(duì)列
MQ::add($key, $value);//添加數(shù)據(jù)到隊(duì)列
MQ::add($key, $value);//添加數(shù)據(jù)到隊(duì)列
MQ::add($key, $value);//添加數(shù)據(jù)到隊(duì)列
MQ::add($key, $value);//添加數(shù)據(jù)到隊(duì)列
MQ:get($key, 10);//取出一定數(shù)量的數(shù)據(jù)

相關(guān)文章

  • phpMyAdmin2.11.6安裝配置方法

    phpMyAdmin2.11.6安裝配置方法

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

最新評(píng)論