php缓存之redis扩展
发表于:2019-10-11 16:40:55浏览:52次
github 官方文档
https://github.com/phpredis/phpredis
扩展包下载
安装
wget https://pecl.php.net/get/redis-4.3.0.tgz
tar zxvf redis-4.3.0.tgz
cd redis-4.3.0
phpize
sudo ./configure --with-php-config=/usr/local/php/bin/php-config
sudo make
sudo make install
添加到php.ini
sudo vim /usr/local/php/etc/conf.d/redis.ini
写入如下内容
[redis]
extension=redis.so
重启 php 服务,查看 phpinfo 信息,就能看到redis扩展。
封装类
class MyRedis {
public $_redis = null;
protected $_config = array(
'host' => REDIS_HOST, # reids 服务地址
'port' => REDIS_PORT, # reids 服务端口 默认: 6379
'timeout' => 300, # redis 链接超时时间,单位(秒),0为无限
);
public function __construct($config=array()){
# 创建一个Redis客户端
$this->_redis = new Redis();
# 连接,打开
$this->_redis->connect(
$this->_config['host'],
$this->_config['port'],
$this->_config['timeout']
);
}
/**
* 获取与指定键相关的值
* @param key 建
* @return 回与此键相关的值 | 键不存在返回FALSE
*/
public function get($key){
return $this->_redis->get($key);
}
/**
* 将参数中的字符串值设置为键的值。
* @param key 建
* @param value 值
* @return bool, 成功则返回true
*/
public function set($key, $value){
return $this->_redis->set($key);
}
/**
* 设置项目的到期日期(超时)。 一般与set使用
* @param key 建
* @param ex_time 时间,单位(秒)
* @return bool, 成功则返回true
*/
public function expire($key, $ex_time){
return $this->_redis->expire($key, $ex_time);
}
/**
* 将参数中的字符串值设置为键的值,并保留一定时间。
* @param key 建
* @param ex_time 时间,单位(秒)
* @param value 值
* @return bool, 成功则返回true
*/
public function setEx($key, $ex_time, $value){
return $this->_redis->setex($key, $ex_time, $value);
}
/**
* 验证指定的密钥是否存在。
* @param key 建 string|string,string|array(string, string)
* @return long 存在的已测试键的数量 (phpredis version<4.0.0 返回bool)
*/
public function delete($keys) {
return $this->_redis->delete($key);
}
/**
* 删除指定的键。
* @param key 建
* @return array()
*/
public function exists($key){
return $this->_redis->exists($key);
}
/**
* 返回与特定模式匹配的键。
* @param strPattern 模式,使用“ *”作为通配符。
* @param key 建
*/
public function keys($strPattern){
return $this->_redis->keys($strPattern);
}
}
使用
$_redis = new MyRedis();
$data = $_redis->get("_redis_key");
var_dump($data);
# 输出: bool(false)
// 添加缓存
$_redis->setEx("_redis_key", 3600, json_encode(array("abc", "def")));
// 再出读出
$data = $_redis->get("_redis_key");
var_dump($data);
# 输出: string(13) "["abc","def"]"

