Example code of the redis Cache-related operation file in the CI framework, ciredis. Example code of the redis Cache-related operation file in the CI framework. ciredis this article describes the redis Cache-related operation files in the CI framework. For your reference, refer to the redis Cache-related operation file sample code in the redi CI framework, ciredis
This article describes the redis Cache-related operation files in the CI framework. We will share this with you for your reference. The details are as follows:
Redis Cache file location:
'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 e-mail 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 * @ link */class CI_Cache_redis extends CI_Driver {/*** default config ** @ static * @ var array */protected static $ _ default_config = array (/* 'socket _ type' => 'tcp ', 'H Ost '=>' 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 f Ailure */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-> hIncrByFloa T ($ key, $ field, $ value );} /*** lpush a raw value *** @ param string $ key Cache ID * @ param string $ 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 * @ 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 * @ 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 blocking wait time * @ return mixed New v Alue 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 m Ixed 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);}/*** Inc Rement 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 fa Ilure */public function HMET ($ alias, $ key) {return $ this-> _ redis-> HMET ($ 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 Ca Che 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 supported Ded in order to offer a * consistent cache API. * @ return array * @ see Redis: info () */public function cache_info ($ type = NULL) {return $ this-> _ redi S-> 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 $ thi S-> _ 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 ($ C I-> 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 */