标签:
一:缓存的概念
1 缓存是什么
缓存是指能够进行高速数据交换的存储器
2 缓存的工作原理
当我们读取数据时,首先会从缓存中获取,如果找到立即返回,如果没有缓存对应数据就会从数据源读取;取回的同时会把相应的数据进行缓存,以便下次访问同一数据源时使用可以从缓存中直接取回。
3 为什么要使用缓存
4 缓存的特性
二:一个PHP的HTTP请求执行过程


三:缓存的类型
//优化前
document.getElementById("h_890").value = "890";
var form = document.getElementById("h_890").form;
//局部变量优化后
var h_890 = document.getElementById("h_890");
h_890.value="890";
var form = h_890.form;
//利用global缓存=>窗口进程内(不刷新)
global userList = null;
function getUserList(){
if(userList != null){
//处理数据
}else{
//请求数据资源
//global 全局变量
//处理相应的数据
}
}
//利用cookie缓存=>会话期内(不关闭浏览器)
function getUserList(){
var c_name = "h_890",c_val = getCookie(c_name);
if(c_val != ‘‘){
//处理数据
}else{
//请求数据资源,返回data
setCookie(c_name,data);
//处理相应的数据
}
}
//利用local storage缓存=>最长时间(浏览器关闭仍有效)
function getUserList(){
var key = "h_890",val = window.localStorage.getItem(key);
if(val != ‘‘){
//处理数据
}else{
//请求数据资源,返回data
window.localStorage.setItem(key ,data);
//处理相应的数据
}
}
2.php静态变量
//最常见的数据库资源
function connect(){
return mysql_connect(‘localhost‘,‘root‘,‘root‘);
}
//改良
class Db {
private static $db = null;
function connect() {
if (null === self::$db) {
self::$db = mysql_connect(‘localhost‘,‘root‘,‘root‘);
}
return self::$db;
}
}
//静态变量升华->单例模式
class Db {
static private $_instance = array(); //类实例
private $_db;
private $_db_name = "localhost";
private $_db_host = "root";
private $_db_pwd = "root";
static function getInstance() {
(NULL === self::$_instance) && self::$_instance = new self();
return self::$_instance;
}
private function __clone() {
}
private function __construct() {
$this->_db = mysql_connect($this->_db_host, $this->_db_name, $this->_db_pwd);
}
}
$db = Db::getInstance();
3. php扩展缓存简介
标签:
原文地址:http://www.cnblogs.com/ID890/p/cache.html