header("content-type:text/html;charset=utf8");
///version 1
// get data
// $redis = new Redis();
// $redis->connect('127.0.0.1', 6379);
// $arr = $redis->get('data_from_class_all');
// if(!empty($arr)){
// $data = $arr;
// }else{
// $dsn = "mysql:host=localhost;dbname=cai";
// $db = new PDO($dsn, 'root', 'root');
// $db->query("set names utf8");
// $data=$db->query('select * from `class`')->fetchAll(PDO::FETCH_ASSOC);
// if(!empty($data)){
// $redis->set('data_from_class_all',$data);
// }
// }
//
$data = getData();
// print_r($data);die;
// 获取数据
function getData(){
// to do somthing...
$redisObj = getRedisInstance();
$redisData = getRedisStr($redisObj, 'data_from_class_all');
if(!empty($redisData)){
$data = $redisData;
}else{
$db = getMysqlInstance();
$data = getMysqlDataAll($db);
if(!empty($data)){
setRedisStr($redisObj, 'data_from_class_all', serialize($data));
}
}
return $data;
}
// 获取redis实例
function getRedisInstance(){
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
return $redis;
}
// 设置Redis的string类型值
function setRedisStr($redisObj, $redisKey, $data){
$redisObj->set($redisKey,$data);
}
// 获取Redis的string类型值
function getRedisStr($redisObj, $redisKey){
$redisData = $redisObj->get($redisKey);
return unserialize($redisData);
}
// 获取mysql的实例
function getMysqlInstance(){
$dsn = "mysql:host=localhost;dbname=cai";
$db = new PDO($dsn, 'root', 'root');
$db->query("set names utf8");
return $db;
}
// 获取mysql的数据
function getMysqlDataAll($db){
return $db->query('select * from `class`')->fetchAll(PDO::FETCH_ASSOC);
}