php操作redis做缓存,利用php怎么对redis缓存进行操作

利用php怎么对redis缓存进行操作

发布时间:2020-12-16 16:46:17

来源:亿速云

阅读:115

作者:Leah

本篇文章给大家分享的是有关利用php怎么对redis缓存进行操作,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

php redis缓存操作<?php

/**

* Redis缓存操作

* @author hxm

* @version 1.0

* @since 2015.05.04

*/

class RCache extends Object implements CacheFace

{

private $redis = null; //redis对象

private $sId  = 1;  //servier服务ID

private $con  = null;//链接资源

/**

* 初始化Redis

*

* @return Object

*/

public function __construct()

{

if ( !class_exists('Redis') )

{

throw new QException('PHP extension does not exist: Redis');

}

$this->redis = new Redis();

}

/**

* 链接memcahce服务

*

* @access private

* @param  string $key 关键字

* @param  string $value 缓存内容

* @return array

*/

private function connect( $sid )

{

$file = $this->CacheFile();

require $file;

if(! isset($cache) )

{

throw new QException('缓存配置文件不存在'.$file);

}

$server = $cache[$this->cacheId];

$sid  = isset($sid) == 0 ? $this->sId : $sid;//memcache服务选择

if ( ! $server[$sid])

{

throw new QException('当前操作的缓存服务器配置文件不存在');

}

$host = $server[$sid]['host'];

$port = $server[$sid]['port'];

try {

$this->redis->connect( $host , $port );

} catch (Exception $e) {

exit('memecache连接失败,错误信息:'. $e->getMessage());

}

}

/**

* 写入缓存

*

* @access private

* @param  string $key 关键字

* @param  string $value 缓存内容

* @return array

*/

public function set( $key , $value , $sid , $expire = 0)

{

$data = $this->get($key , $sid); //如果已经存在key值

if( $data )

{

return $this->redis->getset( $key , $value);

} else {

return $this->redis->set( $key , $value);

}

}

/**

* 读取缓存

*

* @access private

* @param  string $key 关键字

* @param  int   $sid 选择第几台memcache服务器

* @return array

*/

public function get( $key , $sid)

{

$this->connect( $sid );

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

}

/**

* 清洗(删除)已经存储的所有的元素

*

* @access private

* @return array

*/

public function flush()

{

$this->connect();

return $this->redis->flushall();

}

/**

* 删除缓存

*

* @access private

* @param  string $key 关键字

* @param  int   $sid 选择第几台memcache服务器

* @return array

*/

public function remove( $key , $sid)

{

$this->connect();

return $this->redis->del($key);

}

/**

* 析构函数

* 最后关闭memcache

*/

public function __destruct()

{

if($this->redis)

{

$this->redis->close();

}

}

}

以上就是利用php怎么对redis缓存进行操作,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值