本文实例讲述了CI框架中redis缓存相关操作文件。分享给大家供大家参考,具体如下:redis缓存类文件位置:'ci/system/libraries/Cache/drivers/Cache_redis.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 * @filesourcedefined('BASEPATH') OR exit('No direct script access allowed'); * CodeIgniter Redis Caching Class * @package CodeIgniter * @subpackage Libraries * @category Core * @author Anton Lindqvist anton@qvister.se * @linkhtml' target='_blank'>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(); 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相关内容感兴趣的读者可查看本站专题:《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《php优秀开发框架总结》、《Yii框架入门及常用技巧总结》、《php缓存技术总结》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》希望本文所述对大家基于CodeIgniter框架的PHP程序设计有所帮助。PHP教程