header("content-type:text/html;charset=utf8");
//version 1
$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=demo";
$db = new PDO($dsn, 'root', '');
$db->query("set names utf8");
$data=$db->query('select * from `type`')->fetchAll(PDO::FETCH_ASSOC);
if(!empty($data)){
$redis->set('data_from_class_all',$data);
}
}
//version 2
$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=demo";
$db = new PDO($dsn, 'root', '');
$db->query("set names utf8");
return $db;
}
// 获取mysql的数据
function getMysqlDataAll($db){
return $db->query('select * from `type`')->fetchAll(PDO::FETCH_ASSOC);
}
?>
<!DOCTYPE <html></html>
<html>
<head>
<link rel="stylesheet" type="text/js" href="./jquery-1.7.2.js">
<script type="text/javascript" src="./jquery-1.7.2.js"></script>
<title>分类展示</title>
</head>
<body>
<dl>
<?php for ($i=0; $i <count($data) ; $i++) { ?>
<a οnclick="zs('<?php echo $data[$i]['t_id']?>')"><?php echo $data[$i]['title'] ?></a> <br>
<?php } ?>
</dl>
<span id="box1"></span>
</body>
</html>
<script type="text/javascript">
function zs(id){
$.ajax({
type: "POST",
url: "select.php",
data: "id="+id,
success: function(msg){
var box="";
var jsonReturn = eval("("+msg+")");
for(var i=0;i<jsonReturn.length;i++){
box=box+"<li>";
for(var key in jsonReturn[i]){
box=box+jsonReturn[i][key]+" ";
}
box=box+"</li>";
}
$("#box1").html(box);
}
});
}
</script>