Example code of redis Cache related operation file in CI framework, ciredis_PHP tutorial

Source: Internet
Author: User
Tags codeigniter
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 */

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.