mirror of https://github.com/dnomd343/tgbot
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
52 lines
1.9 KiB
52 lines
1.9 KiB
<?php
|
|
|
|
class RedisCache {
|
|
private $redisSetting = array(); // Redis接口参数
|
|
|
|
public function __construct($prefix) { // 初始化
|
|
global $env;
|
|
$this->redisSetting = array(
|
|
'host' => $env['REDIS_HOST'],
|
|
'port' => $env['REDIS_PORT'],
|
|
'passwd' => $env['REDIS_PASSWD'],
|
|
'prefix' => $env['REDIS_PREFIX'] . '-' . $prefix . '-'
|
|
);
|
|
}
|
|
|
|
public function getData($key) { // 查询Redis缓存 不存在返回NULL
|
|
$redis = new Redis();
|
|
$redis->connect($this->redisSetting['host'], $this->redisSetting['port']);
|
|
if ($this->redisSetting['passwd'] !== '') {
|
|
$redis->auth($this->redisSetting['passwd']); // 密码认证
|
|
}
|
|
$redisKey = $this->redisSetting['prefix'] . $key;
|
|
$redisValue = $redis->exists($redisKey) ? $redis->get($redisKey) : NULL;
|
|
return $redisValue;
|
|
}
|
|
|
|
public function setData($key, $data, $cacheTTL = 0) { // 写入Redis缓存 默认不过期
|
|
$redis = new Redis();
|
|
$redis->connect($this->redisSetting['host'], $this->redisSetting['port']);
|
|
if ($this->redisSetting['passwd'] !== '') {
|
|
$redis->auth($this->redisSetting['passwd']); // 密码认证
|
|
}
|
|
$redisKey = $this->redisSetting['prefix'] . $key;
|
|
$status = $redis->set($redisKey, $data); // 写入数据库
|
|
if ($cacheTTL > 0) {
|
|
$redis->pexpire($redisKey, $cacheTTL * 1000); // 设置过期时间 单位 ms = s * 1000
|
|
}
|
|
return $status;
|
|
}
|
|
|
|
public function delData($key) { // 删除Redis缓存
|
|
$redis = new Redis();
|
|
$redis->connect($this->redisSetting['host'], $this->redisSetting['port']);
|
|
if ($this->redisSetting['passwd'] !== '') {
|
|
$redis->auth($this->redisSetting['passwd']); // 密码认证
|
|
}
|
|
$redisKey = $this->redisSetting['prefix'] . $key;
|
|
return $redis->del($redisKey);
|
|
}
|
|
}
|
|
|
|
?>
|
|
|