PHP Redis 普通封装类
2024-09-24 11:15:34
class redisInit { private $redis; //redis对象 /**
* 初始化Redis
* $config = array(
* 'server' => '127.0.0.1' 服务器
* 'port' => '6379' 端口号
* )
* @param array $config
*/
public function init($config = array()) {
if ($config['server'] == '') $config['server'] = '127.0.0.1';
if ($config['port'] == '') $config['port'] = '6379';
$this->redis = new Redis();
$this->redis->connect($config['server'], $config['port']);
return $this->redis;
} /**
* 设置值
* @param string $key KEY名称
* @param string|array $value 获取得到的数据
* @param int $timeOut 时间
*/
public function set($key, $value, $timeOut = 0) {
$value = json_encode($value, TRUE);
$retRes = $this->redis->set($key, $value);
if ($timeOut > 0) $this->redis->setTimeout($key, $timeOut);
return $retRes;
} /**
* 通过KEY获取数据
* @param string $key KEY名称
*/
public function get($key) {
$result = $this->redis->get($key);
return json_decode($result, TRUE);
} /**
* 删除一条数据
* @param string $key KEY名称
*/
public function delete($key) {
return $this->redis->delete($key);
} /**
* 清空数据
*/
public function flushAll() {
return $this->redis->flushAll();
} /**
* 数据入队列
* @param string $key KEY名称
* @param string|array $value 获取得到的数据
* @param bool $right 是否从右边开始入
*/
public function push($key, $value ,$right = true) {
$value = json_encode($value);
return $right ? $this->redis->rPush($key, $value) : $this->redis->lPush($key, $value);
} /**
* 数据出队列
* @param string $key KEY名称
* @param bool $left 是否从左边开始出数据
*/
public function pop($key , $left = true) {
$val = $left ? $this->redis->lPop($key) : $this->redis->rPop($key);
return json_decode($val);
} /**
* 数据自增
* @param string $key KEY名称
*/
public function increment($key) {
return $this->redis->incr($key);
} /**
* 数据自减
* @param string $key KEY名称
*/
public function decrement($key) {
return $this->redis->decr($key);
} /**
* key是否存在,存在返回ture
* @param string $key KEY名称
*/
public function exists($key) {
return $this->redis->exists($key);
} /**
* 返回redis对象
* redis有非常多的操作方法,我们只封装了一部分
* 拿着这个对象就可以直接调用redis自身方法
*/
public function redis() {
return $this->redis;
}
}
最新文章
- 你不知道的Javascript(上卷)读书笔记之二 ---- 词法作用域
- Idea15/16 配置Tomcat
- oracle用户创建及权限设置
- java MVC设计模式
- Combox和DropDownList控件的区别
- 也谈Excel导出
- spring 日志
- hdu 4730 We Love MOE Girls
- Linux下一个OTL 采用long long类型数据库支持BIGINT
- Python - 字符串的替换(interpolation) 具体解释
- 关于li标签之间的间隔如何消除!
- 清北-Day6-regular
- d3 .each()
- Calendar获取当前年份、月份、日期
- 【Nodejs】外研社小学英语教材一年级起各年级英语音频下载(全)
- Nexus5 破解电信关键步骤
- 【java规则引擎】《Drools7.0.0.Final规则引擎教程》第4章 4.3 定时器
- jmeter测试计划配置
- 【10.21总结】一个渗透测试练习实例——发现未知的漏洞(Race condition)
- Hyperledger Fabric MSP Identity Validity Rules——MSP身份验证规则