亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > Linux > 正文

Linux下Redis+crontab實現任務隊列

2020-03-22 19:05:05
字體:
來源:轉載
供稿:網友
  • 前段時間由于一個控制方法要實現的邏輯任務太多了,無論怎么優化都還是有瓶頸。網上介紹可以使用任務隊列的機制,把一些不是立即需要相應的邏輯處理放在隊列中,讓某個程序時時去執行。舉個例子:用戶上來我的網站注冊,注冊完后,我需要給用戶的郵箱帳號推送一些郵件,這個推送郵件所發的時間可能遠比注冊保存用戶資料所花的時間多些,也不是立即就需要響應到前端給客戶知道。所以,是可以把推送郵件這一動作作為一個任務添加到隊列中。

    說明下我測試調試的環境是在Ubuntu12.04下的,安裝redis和添加crontab命令是通過終端命令的,我測試的項目是基于yii框架,調用redis是通過框架提供的yiiredis插件,可能不太符合你的環境,但其中的思路或許還是可以借鑒的。

    1、安裝Redis
    進入終端命令窗口(快捷鍵Ctrl+Alt+T)切換至/usr/local/src(命令:cd /usr/local/src)下,下載并安裝redis:

    $ wget http://redis.googlecode.com/files/redis-2.6.12.tar.gz$ tar xzf redis-2.6.12.tar.gz$ cd redis-2.6.12$ make
    進入redis-2.6.12(命令:cd redis-2.6.12)目錄,修改redis.conf:
    daemonize yes 
    啟動服務端:
    $ src/redis-server redis.conf
    進入命令行驗證服務是否啟動:
    $ src/redis-cliredis> set foo barOKredis> get foo"bar"

    2、安裝Yii的Redis插件
    目前主要有兩種Yii插件:
    1> Rediscache:基于predis(Redis的純PHP實現客戶端),無需安裝Redis for PHP擴展。
    2> YiiRedis:基于phpredis客戶端,需要安裝Redis for PHP擴展。
    這里采用Rediscache插件,避免線上安裝Redis for PHP擴展。
    從以下地址下載Rediscache插件:
    http://www.yiiframework.com/extension/rediscache/files/redis.zip
    將插件解壓到helloyii/app/protected/extensions中:
    插件文件部署后的位置應為:helloyii/app/protected/extensions/redis/CredisCache.php
    配置Rediscache
    return array( 'components' => array(   …   'cache'=>array(    'html' target='_blank'>class'=>'ext.redis.CRedisCache', //對應protected/extensions/redis/CredisCache.php    'servers'=>array(     array(      'host'=>'127.0.0.1',      'port'=>6379,     ),    ),   ),  ),  … );

    3、測試redis使用

    編寫一個讀寫緩存的控制器IndexController進行測試。

    class IndexController extends CController{  public function actionSetRedisValue() {        $key = $_POST['key'];        $value = $_POST['value'];        if ( !empty( $key ) && !empty( $value ) ) {            try {                $redis = Yii::app()->cache;                $data = ( array ) $redis->get( 'test' );                $data[$key] = $value;                $redis->set( 'test', $data );                die( json_encode( array( 'status' => 1, 'msg' => 'set ok!' ) ) );            } catch ( Exception $e ) {                die( json_encode( array( 'status' => 0, 'msg' => 'set faile!' ) ) );            }        } else {            die( json_encode( array( 'status' => 0, 'msg' => 'must input!' ) ) );        }   }   public function actionGetRedisValue() {        try {            $redis = Yii::app()->cache;            $data = ( array ) $redis->get( 'test' );            $log_file = Yii::app()->runtimePath . 'edis_log.txt';            if ( file_exists( $log_file ) ) {                $handle = fopen( $log_file, "a+" );                $log = "----" . date( 'Y-m-d H:i:s' ) . "-----" . "";                foreach ( $data as $key => $value ) {                    $log .= '->' . $key . ' = ' . $value . "";                }                fwrite( $handle, $log );                fclose( $handle );            }        } catch ( Exception $e ) {            echo $e->getMessage();        }   }}

    視圖文件index內容。
    <?php Yii::app()->clientScript->registerCoreScript( 'jquery' ); ?><p>Redis</p><form id="redis_form" action="<?php echo $this->createUrl( '/cata/index/setRedisValue' ); ?>" method="post">    Key:<input id="key" type="text" value=""/>    Value:<input id="val" type="text" value=""/>    <input id="set" type="button" value="set"/>    <input id="get" type="button" value="get"/>    <span></span></form><script>    $(document).ready(function() {        $('#redis_form #set').on('click', function() {            var redisForm = $('#redis_form');            var action = redisForm.attr('action');            var key = redisForm.children('#key');            var value = redisForm.children('#val');            $.post(action, {key: key.val(), value: value.val()}, function(data) {                redisForm.find('span').html(data.msg);                setTimeout(function() {                    redisForm.find('span').html('');                }, 3000);            }, 'json');        });        $('#redis_form #get').on('click', function() {            $.post('<?php echo $this->createUrl( '/cata/index/getRedisValue' ); ?>', {}, function(data) {            }, 'json');        });    });</script>        

    鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

  • 發表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發表
    亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
    国产欧美精品久久久| 亚洲人永久免费| 国产精品99免视看9| 亚洲欧美一区二区三区久久| 精品福利一区二区| 国产在线精品自拍| 国产精品视频久久| 久久综合88中文色鬼| 日韩欧美亚洲范冰冰与中字| 国产一区二区三区三区在线观看| 亚洲精品成a人在线观看| 中文字幕亚洲综合久久| 国产精品永久在线| 久久精品最新地址| 97人洗澡人人免费公开视频碰碰碰| 国产情人节一区| 中文字幕日韩在线观看| 日韩中文字幕网| 国产精品美女999| 日韩美女在线看| 精品福利在线视频| 97在线看福利| 色樱桃影院亚洲精品影院| 成人免费视频xnxx.com| 91国内揄拍国内精品对白| 中文字幕欧美精品日韩中文字幕| 欧美日韩成人免费| 中文.日本.精品| 欧美日韩裸体免费视频| 亚洲美女在线看| 色与欲影视天天看综合网| 午夜精品久久久久久久白皮肤| 日韩美女免费观看| 最近2019年手机中文字幕| 亚洲色无码播放| 亚洲aⅴ男人的天堂在线观看| 国产成人激情小视频| 亚洲高清一区二| 久久人人爽国产| 欧美多人爱爱视频网站| 国产在线视频不卡| 亚洲欧美中文日韩v在线观看| 亚洲精品自在久久| www.美女亚洲精品| 国产成人精品电影久久久| 欧美巨乳在线观看| 国产一区二区香蕉| 欧洲日韩成人av| 91成人福利在线| 精品国内产的精品视频在线观看| 欧亚精品在线观看| 成人字幕网zmw| 欧美尤物巨大精品爽| 在线看国产精品| 亚洲精品视频在线观看视频| 亚洲级视频在线观看免费1级| 国内精品伊人久久| 97欧美精品一区二区三区| 91精品国产91久久久久久不卡| 欧美性生交xxxxxdddd| 日本sm极度另类视频| 亚洲人成电影在线观看天堂色| 日韩欧美国产免费播放| 中文字幕亚洲欧美一区二区三区| 欧美一区深夜视频| 久久久久999| 日韩有码在线观看| 久久人体大胆视频| 日韩精品一区二区三区第95| 亚洲激情电影中文字幕| 日韩国产精品亚洲а∨天堂免| 国产精品亚洲一区二区三区| 91视频国产高清| 一本一道久久a久久精品逆3p| 日韩成人在线网站| 亚洲福利在线看| 久久久电影免费观看完整版| 中文字幕亚洲欧美在线| 久久久视频在线| 中文字幕在线视频日韩| 亚洲最大av在线| 欧美日韩国产成人在线观看| 国产一区二区黄| 亚洲国产精品va在线观看黑人| 久久精品在线播放| 九九热这里只有在线精品视| 日韩欧美在线观看| 精品久久久久久久大神国产| 亚洲高清久久网| 欧美另类99xxxxx| 欧美激情三级免费| 91在线观看免费网站| 中文字幕在线亚洲| 亚洲一区二区三区毛片| 欧美一区二粉嫩精品国产一线天| 亚洲成人黄色网| 91av视频在线观看| 91精品国产91久久久久久吃药| 91高清视频免费观看| 亚洲视频自拍偷拍| 有码中文亚洲精品| 国产成人91久久精品| 久久人人爽亚洲精品天堂| 日韩人在线观看| 国产亚洲精品综合一区91| 91久久在线观看| 久久久久久久久久久人体| 亚洲男人的天堂在线| 国产97在线亚洲| 亚洲tv在线观看| 亚洲性日韩精品一区二区| 日韩亚洲一区二区| 国产成人在线播放| 精品国产一区二区三区在线观看| 最近2019免费中文字幕视频三| 色777狠狠综合秋免鲁丝| 一区二区av在线| 日韩精品在线影院| 国产免费久久av| 久久久久久久久久av| 亚洲精品日韩在线| 97视频在线观看免费高清完整版在线观看| 欧美人与物videos| 久久6精品影院| 中文字幕日韩视频| 2018国产精品视频| 欧美在线观看www| 精品国产一区二区三区在线观看| 欧美黑人xxx| 国产成人精品久久二区二区91| 国产精品亚洲视频在线观看| 精品一区精品二区| 国产免费一区二区三区香蕉精| 成人在线精品视频| 国产精品久久网| 亚洲男女自偷自拍图片另类| 91香蕉亚洲精品| 欧美成人精品h版在线观看| 欧美精品久久久久a| 国产精品小说在线| 九九热精品视频在线播放| 精品亚洲一区二区三区在线播放| 91国产精品视频在线| 欧美亚洲一区在线| 亚洲一区亚洲二区亚洲三区| 亚洲国产精彩中文乱码av在线播放| 欧美疯狂xxxx大交乱88av| 成人精品aaaa网站| 国产精品一区二区av影院萌芽| 国产精品91免费在线| 在线视频欧美日韩精品| 91热福利电影| 日韩美女免费线视频| 国产一区视频在线播放| 91国产精品91| 成人免费淫片aa视频免费| 欧美日韩美女视频| 6080yy精品一区二区三区| 777午夜精品福利在线观看| 欧美亚洲在线播放| 久久精视频免费在线久久完整在线看| 国产一区二区三区在线视频| 亚洲www在线观看| 亚洲综合社区网|