亚洲免费不卡_在线视频精品_国产尤物精品_久久久久网址_久久精品91_欧美va天堂在线_狠狠入ady亚洲精品_亚洲午夜精品福利_国产精品草草_午夜精品久久99蜜桃的功能介绍

CI框架中redis緩存相關操作文件示例代碼
來源:易賢網 閱讀:2523 次 日期:2016-08-22 15:01:55
溫馨提示:易賢網小編為您整理了“CI框架中redis緩存相關操作文件示例代碼”,方便廣大網友查閱!

本文實例講述了CI框架中redis緩存相關操作文件。分享給大家供大家參考,具體如下:

redis緩存類文件位置:

'ci\system\libraries\Cache\drivers\Cache_redis.php'

<?php

/**

 * CodeIgniter

 *

 * An open source application development framework for PHP 5.2.4 or newer

 *

 * NOTICE OF LICENSE

 *

 * Licensed under the Open Software License version 3.0

 *

 * This source file is subject to the Open Software License (OSL 3.0) that is

 * bundled with this package in the files license.txt / license.rst. It is

 * also available through the world wide web at this URL:

 * http://opensource.org/licenses/OSL-3.0

 * If you did not receive a copy of the license and are unable to obtain it

 * through the world wide web, please send an email to

 * licensing@ellislab.com so we can send you a copy immediately.

 *

 * @package   CodeIgniter

 * @author   EllisLab Dev Team

 * @copyright  Copyright (c) 2008 - 2014, EllisLab, Inc. (http://ellislab.com/)

 * @license   http://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)

 * @link    http://codeigniter.com

 * @since    Version 3.0

 * @filesource

 */

defined('BASEPATH') OR exit('No direct script access allowed');

/**

 * CodeIgniter Redis Caching Class

 *

 * @package  CodeIgniter

 * @subpackage Libraries

 * @category  Core

 * @author   Anton Lindqvist <anton@qvister.se>

 * @link

 */

class CI_Cache_redis extends CI_Driver

{

  /**

   * Default config

   *

   * @static

   * @var array

   */

  protected static $_default_config = array(

    /*

    'socket_type' => 'tcp',

    'host' => '127.0.0.1',

    'password' => NULL,

    'port' => 6379,

    'timeout' => 0

    */

  );

  /**

   * Redis connection

   *

   * @var Redis

   */

  protected $_redis;

  /**

   * Get cache

   *

   * @param  string like *$key*

   * @return array(hash)

   */

  public function keys($key)

  {

    return $this->_redis->keys($key);

  }

  /**

   * Get cache

   *

   * @param  string Cache ID

   * @return mixed

   */

  public function get($key)

  {

    return $this->_redis->get($key);

  }

  /**

   * mGet cache

   *

   * @param  array  Cache ID Array

   * @return mixed

   */

  public function mget($keys)

  {

    return $this->_redis->mget($keys);

  }

  /**

   * Save cache

   *

   * @param  string $id Cache ID

   * @param  mixed  $data  Data to save

   * @param  int $ttl  Time to live in seconds

   * @param  bool  $raw  Whether to store the raw value (unused)

   * @return bool  TRUE on success, FALSE on failure

   */

  public function save($id, $data, $ttl = 60, $raw = FALSE)

  {

    return ($ttl)

      ? $this->_redis->setex($id, $ttl, $data)

      : $this->_redis->set($id, $data);

  }

  /**

   * Delete from cache

   *

   * @param  string Cache key

   * @return bool

   */

  public function delete($key)

  {

    return ($this->_redis->delete($key) === 1);

  }

  /**

   * hIncrBy a raw value

   *

   * @param  string $id Cache ID

   * @param  string $field Cache ID

   * @param  int $offset Step/value to add

   * @return mixed  New value on success or FALSE on failure

   */

  public function hincrby($key, $field, $value = 1)

  {

    return $this->_redis->hIncrBy($key, $field, $value);

  }

  /**

   * hIncrByFloat a raw value

   *

   * @param  string $id Cache ID

   * @param  string $field Cache ID

   * @param  int $offset Step/value to add

   * @return mixed  New value on success or FALSE on failure

   */

  public function hincrbyfloat($key, $field, $value = 1)

  {

    return $this->_redis->hIncrByFloat($key, $field, $value);

  }

  /**

   * lpush a raw value

   *

   * @param  string $key  Cache ID

   * @param  string $value value

   * @return mixed  New value on success or FALSE on failure

   */

  public function lpush($key, $value)

  {

    return $this->_redis->lPush($key, $value);

  }

   /**

   * rpush a raw value

   *

   * @param  string $key  Cache ID

   * @param  string $value value

   * @return mixed  New value on success or FALSE on failure

   */

  public function rpush($key, $value)

  {

    return $this->_redis->rPush($key, $value);

  }

  /**

   * rpop a raw value

   *

   * @param  string $key  Cache ID

   * @param  string $value value

   * @return mixed  New value on success or FALSE on failure

   */

  public function rpop($key)

  {

    return $this->_redis->rPop($key);

  }

   /**

   * brpop a raw value

   *

   * @param  string $key  Cache ID

   * @param  string $ontime 阻塞等待時間

   * @return mixed  New value on success or FALSE on failure

   */

  public function brpop($key,$ontime=0)

  {

    return $this->_redis->brPop($key,$ontime);

  }

  /**

   * lLen a raw value

   *

   * @param  string $key  Cache ID

   * @return mixed  Value on success or FALSE on failure

   */

  public function llen($key)

  {

    return $this->_redis->lLen($key);

  }

  /**

   * Increment a raw value

   *

   * @param  string $id Cache ID

   * @param  int $offset Step/value to add

   * @return mixed  New value on success or FALSE on failure

   */

  public function increment($id, $offset = 1)

  {

    return $this->_redis->exists($id)

      ? $this->_redis->incr($id, $offset)

      : FALSE;

  }

  /**

   * incrby a raw value

   *

   * @param  string $key Cache ID

   * @param  int $offset Step/value to add

   * @return mixed  New value on success or FALSE on failure

   */

  public function incrby($key, $value = 1)

  {

    return $this->_redis->incrby($key, $value);

  }

  /**

   * set a value expire time

   *

   * @param  string $key Cache ID

   * @param  int $seconds expire seconds

   * @return mixed  New value on success or FALSE on failure

   */

  public function expire($key, $seconds)

  {

    return $this->_redis->expire($key, $seconds);

  }

  /**

   * Increment a raw value

   *

   * @param  string $id Cache ID

   * @param  int $offset Step/value to add

   * @return mixed  New value on success or FALSE on failure

   */

  public function hset($alias,$key, $value)

  {

    return $this->_redis->hset($alias,$key, $value);

  }

  /**

   * Increment a raw value

   *

   * @param  string $id Cache ID

   * @param  int $offset Step/value to add

   * @return mixed  New value on success or FALSE on failure

   */

  public function hget($alias,$key)

  {

    return $this->_redis->hget($alias,$key);

  }

  /**

   * Increment a raw value

   *

   * @param  string $id Cache ID

   * @return mixed  New value on success or FALSE on failure

   */

  public function hkeys($alias)

  {

    return $this->_redis->hkeys($alias);

  }

  /**

   * Increment a raw value

   *

   * @param  string $id Cache ID

   * @param  int $offset Step/value to add

   * @return mixed  New value on success or FALSE on failure

   */

  public function hgetall($alias)

  {

    return $this->_redis->hgetall($alias);

  }

  /**

   * Increment a raw value

   *

   * @param  string $id Cache ID

   * @param  int $offset Step/value to add

   * @return mixed  New value on success or FALSE on failure

   */

  public function hmget($alias,$key)

  {

    return $this->_redis->hmget($alias,$key);

  }

  /**

   * del a key value

   *

   * @param  string $id Cache ID

   * @param  int $offset Step/value to add

   * @return mixed  New value on success or FALSE on failure

   */

  public function hdel($alias,$key)

  {

    return $this->_redis->hdel($alias,$key);

  }

  /**

   * del a key value

   *

   * @param  string $id Cache ID

   * @return mixed  New value on success or FALSE on failure

   */

  public function hvals($alias)

  {

    return $this->_redis->hvals($alias);

  }

  /**

   * Increment a raw value

   *

   * @param  string $id Cache ID

   * @param  int $offset Step/value to add

   * @return mixed  New value on success or FALSE on failure

   */

  public function hmset($alias,$array)

  {

    return $this->_redis->hmset($alias,$array);

  }

  /**

   * Decrement a raw value

   *

   * @param  string $id Cache ID

   * @param  int $offset Step/value to reduce by

   * @return mixed  New value on success or FALSE on failure

   */

  public function decrement($id, $offset = 1)

  {

    return $this->_redis->exists($id)

      ? $this->_redis->decr($id, $offset)

      : FALSE;

  }

  /**

   * Clean cache

   *

   * @return bool

   * @see   Redis::flushDB()

   */

  public function clean()

  {

    return $this->_redis->flushDB();

  }

  /**

   * Get cache driver info

   *

   * @param  string Not supported in Redis.

   *     Only included in order to offer a

   *     consistent cache API.

   * @return array

   * @see   Redis::info()

   */

  public function cache_info($type = NULL)

  {

    return $this->_redis->info();

  }

  /**

   * Get cache metadata

   *

   * @param  string Cache key

   * @return array

   */

  public function get_metadata($key)

  {

    $value = $this->get($key);

    if ($value)

    {

      return array(

        'expire' => time() + $this->_redis->ttl($key),

        'data' => $value

      );

    }

    return FALSE;

  }

  /**

   * Check if Redis driver is supported

   *

   * @return bool

   */

  public function is_supported()

  {

    if (extension_loaded('redis'))

    {

      return $this->_setup_redis();

    }

    else

    {

      log_message('debug', 'The Redis extension must be loaded to use Redis cache.');

      return FALSE;

    }

  }

  /**

   * Setup Redis config and connection

   *

   * Loads Redis config file if present. Will halt execution

   * if a Redis connection can't be established.

   *

   * @return bool

   * @see   Redis::connect()

   */

  protected function _setup_redis()

  {

    $config = array();

    $CI =& get_instance();

    if ($CI->config->load('redis', TRUE, TRUE))

    {

      $config += $CI->config->item('redis');

    }

    $config = array_merge(self::$_default_config, $config);

    $config = !empty($config['redis'])?$config['redis']:$config;

    $this->_redis = new Redis();

    try

    {

      if ($config['socket_type'] === 'unix')

      {

        $success = $this->_redis->connect($config['socket']);

      }

      else // tcp socket

      {

        $success = $this->_redis->connect($config['host'], $config['port'], $config['timeout']);

      }

      if ( ! $success)

      {

        log_message('debug', 'Cache: Redis connection refused. Check the config.');

        return FALSE;

      }

    }

    catch (RedisException $e)

    {

      log_message('debug', 'Cache: Redis connection refused ('.$e->getMessage().')');

      return FALSE;

    }

    if (isset($config['password']))

    {

      $this->_redis->auth($config['password']);

    }

    return TRUE;

  }

  /**

   * Class destructor

   *

   * Closes the connection to Redis if present.

   *

   * @return void

   */

  public function __destruct()

  {

    if ($this->_redis)

    {

      $this->_redis->close();

    }

  }

}

/* End of file Cache_redis.php */

/* Location: ./system/libraries/Cache/drivers/Cache_redis.php */

希望本文所述對大家基于CodeIgniter框架的PHP程序設計有所幫助。

更多信息請查看網絡編程
由于各方面情況的不斷調整與變化,易賢網提供的所有考試信息和咨詢回復僅供參考,敬請考生以權威部門公布的正式信息和咨詢為準!
關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點

版權所有:易賢網

亚洲免费不卡_在线视频精品_国产尤物精品_久久久久网址_久久精品91_欧美va天堂在线_狠狠入ady亚洲精品_亚洲午夜精品福利_国产精品草草_午夜精品久久99蜜桃的功能介绍
欧美日韩一区二区三区在线视频 | 国产精品外国| 国产欧美日韩一区二区三区| 欧美中文日韩| 亚洲精品1234| 欧美黄色免费| 国产午夜精品在线| 欧美三级不卡| 久久蜜桃精品| 中国成人在线视频| 欧美日韩精品免费看| 国产亚洲毛片| 在线欧美视频| 欧美视频官网| 久久av免费一区| 亚洲黄色影院| 国产在线成人| 久久久久久穴| 老鸭窝毛片一区二区三区| 精品二区视频| 狠久久av成人天堂| 欧美福利在线| 久久精品免费| 男女精品视频| 国产伦精品一区二区三区视频黑人 | 亚洲黄网站黄| 欧美另类亚洲| 美女被久久久| 性色一区二区三区| 老鸭窝毛片一区二区三区| 夜夜嗨av一区二区三区网站四季av| 国模一区二区三区| 欧美女人交a| 欧美日韩国产成人精品| 午夜免费电影一区在线观看| 女人色偷偷aa久久天堂| 欧美一区国产在线| 老司机午夜精品视频| 久久五月天婷婷| 午夜在线观看免费一区| 免费亚洲视频| 久久久久国产精品一区三寸 | 伊人成年综合电影网| 欧美精品播放| 欧美午夜不卡| 影音先锋亚洲一区| 亚洲精品影院| 亚洲一区三区电影在线观看| 亚洲一区二区在线免费观看| 久久久人人人| 亚洲视频福利| 国产欧美日韩亚洲| 噜噜噜久久亚洲精品国产品小说| 每日更新成人在线视频| 欧美黄免费看| 激情视频一区二区| 国产精品久久久一区二区三区| 免费在线国产精品| 欧美日韩一区二区视频在线 | 黄色精品一区| 在线视频精品| 你懂的国产精品| 激情欧美日韩| 欧美一级二区| 欧美午夜免费| 国产精品日韩欧美一区| 欧美+日本+国产+在线a∨观看| 欧美日韩一区二区三区在线观看免| 极品日韩久久| 另类国产ts人妖高潮视频| 很黄很黄激情成人| 久久成人资源| 亚洲伦伦在线| 欧美三级第一页| 国产视频一区免费看| 欧美粗暴jizz性欧美20| 999亚洲国产精| 欧美久久视频| 欧美亚洲三级| 99视频一区| 国产一区二区中文字幕免费看| 国产精品一区视频网站| 激情一区二区| 欧美激情第8页| 亚洲免费婷婷| 一区二区三区国产在线| 在线观看亚洲| 国产精品a级| 久久亚洲色图| 欧美一进一出视频| 夜久久久久久| 亚洲美女少妇无套啪啪呻吟| 欧美日韩国产欧| 久久伊人一区二区| 亚洲资源av| 国产精品日韩高清| 99在线|亚洲一区二区| 亚洲福利av| 怡红院精品视频在线观看极品| 午夜久久久久| 欧美精品九九| 欧美激情 亚洲a∨综合| 久久国产66| 免费永久网站黄欧美| 国产精品综合色区在线观看| 99热这里只有精品8| 亚洲美洲欧洲综合国产一区| 激情丁香综合| 亚洲精品乱码久久久久久蜜桃麻豆| 国产精品99免费看| 国内精品久久久久久久果冻传媒 | 日韩午夜av在线| 国产综合欧美| 亚洲大胆av| 99国产精品久久久久久久成人热| 亚洲精品色图| av成人天堂| 亚洲欧美日韩一区在线观看| 久久国产高清| 欧美日韩国产在线一区| 合欧美一区二区三区| 1000部精品久久久久久久久| 亚洲欧洲日本国产| 一本久久知道综合久久| 国产精品一二| 欧美伊人影院| 国模精品娜娜一二三区| 亚洲国内精品| 国产精品普通话对白| 欧美亚洲一级| 欧美视频一区| 99热这里只有精品8| 久久国产精品一区二区三区| 欧美午夜不卡| 国产一区二区三区成人欧美日韩在线观看| 国产一区二区三区久久| 久久久久久久波多野高潮日日| 欧美日韩国内| 一区二区国产在线观看| 久久精品国语| 亚洲国产黄色| 久久九九精品| 日韩亚洲视频| 欧美激情1区| 国产欧美日韩综合一区在线观看| 欧美一区二区三区免费看| 亚洲高清在线| 噜噜噜91成人网| 亚洲国产精品久久久久久女王| 亚洲主播在线| 亚洲国产网站| 欧美日韩国产三区| 亚洲一区二区三区免费在线观看 | 久久婷婷一区| 在线亚洲伦理| 在线观看成人av电影| 久久精品三级| 国产亚洲欧美一区二区| 欧美日韩爆操| 久久精品成人| 国产精品视区| 亚洲欧洲一区| 狠狠色综合网| 欧美日本一区| 久久一二三四| 欧美专区18| 亚洲一区二区三区高清不卡| 亚洲激情不卡| 极品中文字幕一区| 欧美色图首页| 欧美激情一级片一区二区| 欧美主播一区二区三区美女 久久精品人| 精品999成人| 欧美视频在线观看| 午夜精品一区二区三区四区 | 国产一区二区三区四区hd| 久久国产欧美精品| 亚洲综合99| 国产伦理一区| 亚洲一区在线免费| 午夜亚洲伦理| 香蕉视频成人在线观看| 午夜影院日韩| 麻豆亚洲精品| 麻豆成人精品| 蜜乳av另类精品一区二区| 亚洲免费在线| 美女日韩在线中文字幕| 久久九九99| 欧美国产高清| 国产在线欧美| 亚洲欧洲精品一区| 日韩视频在线观看国产| 亚洲精品一区二区三| 中日韩男男gay无套| 国产精品久久久久久模特| 亚洲专区一区| 久久精品首页| 欧美日韩国产在线一区| 亚洲图片欧洲图片日韩av| 亚洲国产日韩美| 国产日韩专区| 久久精品亚洲| 狠狠色噜噜狠狠狠狠色吗综合 | 午夜国产精品视频| 国产精品国色综合久久| 亚洲全部视频| 亚洲综合99| 欧美日一区二区三区在线观看国产免| 国精品一区二区三区| 亚洲精品社区| 久久久www| 激情一区二区| 午夜在线精品偷拍| 欧美日韩国产综合网| 亚洲精品婷婷| 老妇喷水一区二区三区| 在线不卡亚洲| 麻豆成人在线| 在线观看亚洲| 久久亚洲精品欧美| 91久久精品www人人做人人爽| 亚洲影视在线| 影音先锋久久久| 久久riav二区三区| 亚洲精品1234| 欧美日韩日本国产亚洲在线| 国产欧美日韩综合一区在线观看| 久久这里有精品15一区二区三区| 亚洲成色最大综合在线| 久久九九免费| 国产日韩欧美三区| 亚洲视频碰碰| 欧美日韩在线精品一区二区三区| 中文精品一区二区三区 | 一区二区精品国产| 韩国精品一区二区三区| 麻豆91精品| 国产午夜精品在线| 尤物在线精品| 欧美日韩一区二区三| 久久精品人人做人人爽电影蜜月| 一本一本久久| 亚洲精品1区2区| 亚洲手机在线| 欧美日韩一区二区三| 久久亚洲图片| 久久久久久久欧美精品| 亚洲综合视频一区| 亚洲视频www| 99riav1国产精品视频| 亚洲国产片色| 日韩午夜在线| 99精品视频免费全部在线| 在线观看一区| 激情久久久久久| 亚洲一级黄色| 在线观看成人一级片| 一区在线视频| 日韩视频一区| 国产精品视频| 亚洲一区尤物| 久久久www| 欧美精品v日韩精品v国产精品| 久久婷婷国产综合尤物精品| 久久欧美肥婆一二区| 欧美一区激情| 欧美日韩在线一二三| 国产精品黄色| 亚洲精品在线免费| 国产视频一区免费看| 亚洲欧美日韩精品综合在线观看| 国产伦精品一区二区三区高清版| 亚洲中字在线| 欧美精品v日韩精品v国产精品| 欧美网站在线| 亚洲三级国产| 欧美亚洲免费| 欧美日韩精品一本二本三本| 在线免费观看欧美| 国产精品夜夜夜| 亚洲欧美综合一区| 亚洲国产精品第一区二区| 国产欧美一区二区三区另类精品 | 亚洲每日在线| 国产亚洲二区| 午夜精品剧场| 91久久精品一区二区别| 免费久久99精品国产自在现线| 每日更新成人在线视频| 国产一区二区三区四区三区四| 亚洲精品欧洲| 欧美福利一区二区三区| 亚洲国产二区| 久久一区亚洲| 亚洲精品自在在线观看| 美女诱惑一区| 136国产福利精品导航网址| 亚洲综合二区| 伊人婷婷久久| 欧美尤物一区| 国产精品夜夜夜一区二区三区尤| 欧美日韩久久| 母乳一区在线观看| 亚洲经典在线| 欧美黄色一区二区| 亚洲欧美久久久久一区二区三区| 欧美日韩一区二区三区在线观看免| 亚洲清纯自拍| 欧美日韩一区在线播放| 亚洲欧美网站| 亚洲精品影院在线观看| 欧美日韩在线精品一区二区三区| 亚洲一区二区三区四区中文| 在线国产精品一区| 欧美精品国产| 老司机免费视频久久| 国产欧美日韩一区二区三区在线| 亚洲婷婷免费| 国产精品成人一区二区网站软件| 欧美亚洲一区| 亚洲一区二区三区精品在线观看 | 黄色成人av网站| 欧美成人一区二免费视频软件| 国产伦精品一区二区三区视频黑人| 影音先锋中文字幕一区| 欧美久色视频| 久久中文字幕一区二区三区| 午夜亚洲视频| 香蕉久久夜色精品| 亚洲永久在线| 久久国产主播精品| 久久国产精品亚洲va麻豆| 亚洲在线国产日韩欧美| 亚洲一区二区成人| 国产精品日本| 亚洲女人av| 久久久久久国产精品mv| 久久久久国产精品一区三寸| 久久亚洲二区| 欧美精品免费观看二区| 欧美私人啪啪vps| 激情欧美亚洲| 亚洲精品一区二区三区av| 99国产一区| 亚洲欧美视频| 欧美福利一区| 好吊一区二区三区| 亚洲精品1区2区| 国产乱码精品| 午夜久久tv| 亚洲高清在线| 国产一区二区久久久| 欧美一级播放| 欧美色图首页| 亚洲美女少妇无套啪啪呻吟| 国产精品试看| 欧美黄在线观看| 亚洲国产欧洲综合997久久| 一本色道久久综合亚洲精品婷婷 | 影音先锋在线一区| 国产欧美日韩综合一区在线观看| 国产精品嫩草99av在线| 久久五月天婷婷| 伊人久久婷婷色综合98网| 国产欧美大片| 午夜精品亚洲| 国产精品免费看| 欧美精品一区在线发布| 99国产精品视频免费观看一公开 | 亚洲精选国产| 久久久久欧美精品| 伊人成人在线| 美女日韩在线中文字幕| 亚洲视频久久| 久久久久高清| 日韩天天综合| 欧美区日韩区| 亚洲一区二区免费看| 欧美日韩hd| 亚洲一区二区三区四区中文| 国产精品va| 久久狠狠久久综合桃花| 亚洲国产专区校园欧美| 老鸭窝毛片一区二区三区| 一区在线免费| 欧美一区激情视频在线观看| aⅴ色国产欧美| 狠狠色噜噜狠狠色综合久| 久久精选视频| 亚洲在线日韩| 一区二区三区免费看| 亚洲一二三区在线| 欧美精品免费观看二区| 裸体素人女欧美日韩| 一道本一区二区| 亚洲国产成人不卡| 国内精品一区二区| 欧美体内she精视频在线观看| 免费中文字幕日韩欧美|