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;
}
}

最新文章

  1. 你不知道的Javascript(上卷)读书笔记之二 ---- 词法作用域
  2. Idea15/16 配置Tomcat
  3. oracle用户创建及权限设置
  4. java MVC设计模式
  5. Combox和DropDownList控件的区别
  6. 也谈Excel导出
  7. spring 日志
  8. hdu 4730 We Love MOE Girls
  9. Linux下一个OTL 采用long long类型数据库支持BIGINT
  10. Python - 字符串的替换(interpolation) 具体解释
  11. 关于li标签之间的间隔如何消除!
  12. 清北-Day6-regular
  13. d3 .each()
  14. Calendar获取当前年份、月份、日期
  15. 【Nodejs】外研社小学英语教材一年级起各年级英语音频下载(全)
  16. Nexus5 破解电信关键步骤
  17. 【java规则引擎】《Drools7.0.0.Final规则引擎教程》第4章 4.3 定时器
  18. jmeter测试计划配置
  19. 【10.21总结】一个渗透测试练习实例——发现未知的漏洞(Race condition)
  20. Hyperledger Fabric MSP Identity Validity Rules——MSP身份验证规则

热门文章

  1. PDF打印
  2. c++内存分配
  3. 在IOS中使用json
  4. 模仿易信的UI
  5. BZOJ3550: [ONTAK2010]Vacation
  6. js 判断是否为chrome浏览器
  7. PAT-乙级-1051. 复数乘法 (15)
  8. linux源码阅读笔记 void 指针
  9. VirtualBox下导入CentOS后,无法上网
  10. cf div2 235 D