PHP Redis 缓存数据

Posted Davis

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP Redis 缓存数据相关的知识,希望对你有一定的参考价值。

// 配置文件
define(‘CONFIG‘, [
‘redis-server‘ => ‘127.0.0.1‘,
‘redis-port‘ => 6379,
‘prod-name‘ => ‘air-port-query‘,
‘ttl‘ => 60,// 缓存过期时间为一分钟
]
);
// redis 客户端实例化
$redis = new Redis();
$redis->connect(CONFIG[‘redis-server‘], CONFIG[‘redis-port‘]); //连接Redis
// 存储key: "air-port-query:[type]:[lang]" 做为key存取
$prodKey = CONFIG[‘prod-name‘];
$redisKey = "{$prodKey}:{$type}:{$lang}";

$data = $redis->get($redisKey);// 通过key获取存入Redis中的数据
if (!$data) { // 判断是否获取到数据,如果获取到数据证明缓存还没过期,如果没有获取到数据证明缓存已过期,这个时候需要更新redis的数据
    try {
$data = file_get_contents("http://www.macau-airport.com/airportapps/api.php?type={$type}&lan={$lang}"); //拿到数据
} catch (Exception $e) {
throw new Exception("Remote api error", 2);
}
$redis->setex($redisKey, CONFIG[‘ttl‘], $data);// 存入json字符串,更新redis数据
}

以上是关于PHP Redis 缓存数据的主要内容,如果未能解决你的问题,请参考以下文章

LAMP+Redis缓存数据库整合

PHP缓存技术

redis常见使用场景下PHP实现

封装php redis缓存操作类

redis 做数据库缓存 php实现

php redis做mysql的缓存,怎么异步redis同步到mysql数据库?