memcached技術
介紹:memcached是一種快取技術, 他可以把你的資料放入記憶體,從而通過記憶體訪問提速,因為記憶體最快的, memcached技術的主要目的提速,
在memachec 中維護了一張大的hashtable表 ,該表是在記憶體,表的結構是
key value
字串 (字串,數值,陣列,物件,布林,二進位制資料,null)
原理說明:
◆ 安裝並使用memcached
安裝步驟
(1) **memcached軟體
(2) 安裝
進入cmd ,切換到 檔案所在目錄
–d install
(3) 啟動memcached
第一種,可以到服務點選啟動
第二種, 命令列
–m 200mb –d start 【以deamon方式啟動,預設64m】
如果你在啟動時,win7啟動不成功, 則可以使用如下方法
–p 埠號
啟動方法不要關閉控制台.
埠號的範圍 : 0-65535 , 因為埠號是用兩個位元組來表示
有名埠: 0-1024 已經用程式使用 , apache 80 , mysql 3306 , ftp 21 , ssh 22
oracle: 1521, stmp: 25
使用netstat –an 如果看到 11211埠在監聽,說明啟動ok
netstat –anb 是哪個程式監聽, 這個指令還可以看到有哪些使用者連線到我們的伺服器.
如果沒有安裝好,原因可能
1. 如果你是win7, win7對安全性高,所有,必須以adminstartor 身份來安裝.
你切換成adminstrator , 去安裝,在啟動
2. 你的 目錄有中文,或特殊字元, 保證目錄沒有中文和特殊字元.
(4) 準備研究如果對memcached進行curd操作.
看看telnet如何操作 (curd)
1. 登入到telnet連線到 memcached服務
telnet 127.0.0.1 11211
如果你們不能使用telnet 是因為系統不存在 , 就可以到其它機器上拷貝 放在 c:\windows\system32 即可
2. 增加
基本語法是:
add key名 0 存放時間(秒) 資料大小(字元)
舉例:add key1 0 30 5
3. 如何獲取
基本語法是:
get key值
get key1
4. 修改
set key名 0 存放時間資料大小.
舉例:set key1 0 40 5
如果key1不存在,則相當於增加新,如果存在,則相當有替換
replace key名存放時間資料大小
replace key1 0 40 5
如果key1不存在,則失敗,這個指令要求key必須存在.
5. 刪除
基本語法是
delete key名
比如delete key1
flush_all 可以統一把資料清空.
這裡主要大家可以去計算出命中率 cmd_hits/cmd_get . 越高越好.
◆ 如何使用php程式操作我們的memcached服務 curd.
步驟,準備工作.
(1) 把 php_ 檔案拷貝 php的ext 下
不同版本的php 所使用的 php_ 的版本不一樣
(2) 修改檔案,載入 php_ (該檔案就是封裝了一堆函式)
;載入php_ 檔案
extension=php_
(3) 重新啟動apache
(4) 我們寫程式來完成curd操作.
細節: 在我們新增資料的時候,如果
bool memcache::add ( string $key , mixed $var [, int $flag [, int $expire ]] )
如果報 expire 設為0 表示,永不過期.(只要memcache不重新啟動,就永遠在mem中)
exprie 直接給的是秒數,則最大 30*3600*24
如果你希望保持時間超過30 time()+天數*3600*24 即可
最後**:
<?php
//建立乙個mem物件例項
$mem=new memcache;
if(!$mem->connect("127.0.0.1",11211))
//增加
//1.增加乙個字串
/* if($mem->set('key1',"beijing",memcache_compressed,60))*/
//2.新增數值
/* if($mem->set('key1',100,memcache_compressed,60))*/
//3.新增陣列
//在新增陣列是,根據需要. 希望序列號放入 ,
//serialize<=>unserialize, 如果根據需要,也可以json_encode <=> json_decode
$arr=array("bj",'tj');
if($mem->set('key1',$arr,memcache_compressed,time()+31*3600*24))
//4.新增物件
/* class dog
}$dog1=new dog('小狗',50);
if($mem->set('key1',$dog1,memcache_compressed,60))*/
//5.新增null 布林值
/* if($mem->set('key1',false,memcache_compressed,60))*/
//6. 資源型別放入.
/* $con=mysql_connect("127.0.0.1","root","root");
if(!$con)
var_dump($con);
echo "
"; if($mem->set('key1',$con,memcache_compressed,60))*/
//查詢
$val=$mem->get('key1');
var_dump($val);
//修改
//可以使用replace
if($mem->replace("key11",'hello',memcache_compressed,60))else
//刪除
echo "
"; if($mem->delete('key14'))else
<?php
//這個檔案去操作memcached服務
//建立乙個mem物件例項
$mem=new memcache;
if(!$mem->connect("127.0.0.1",11211))
//在另外檔案中取出物件時,有個注意的地方,對應php5.2這個版本會提示錯誤,
//對php5.3這個版本會提示 incomplete 資訊, 解決方法是宣告類定義即可
class dog
}$dog=$mem->get('key1');
var_dump($dog);
說明serilize 和 json_encode用法:
//什麼時候使用serilize 什麼時候使用json_encode [ajax配合]
練習: 請大家使用php 程式 完成對memcahce增刪改查
20min
◆ 如何使用php原始碼來操作memcached服務
如果管理員不讓我們去載入 檔案,我們可以直接通過原始碼操作.
關閉擴充套件.
**<?php
require_once '';
$mc = new memcached(array(
servers' => array('127.0.0.1:11211'), //連線的memcacheip和埠
debug' => false, //是否debug
compress_threshold' => 10240, /*最大壓縮*/
persistant' => true)); /*是否是持久連線*/
$mc->set('key1', array('some', 'array'));
// $mc->replace('key', 'some random string');
$val = $mc->get('key1');
var_dump($val);
//修改
$mc->replace('key1', "北京");
$val = $mc->get('key1');
var_dump($val);
//刪除
$mc->delete('key1');
$val = $mc->get('key1');
SWOT分析詳解
swot分析詳解地產策劃知識 swot分別代表 strengths 優勢 weaknesses 劣勢 opportunities 機會 threats 威脅 swot分析通過對優勢 劣勢 機會和威脅的加以綜合評估與分析得出結論,然後再調整企業資源及企業策略,來達成企業的目標。swot分析已逐漸被許多...
SWOT分析模型詳解
出自 mba智庫百科 swot分析模型 swot analysis swot分析法 也稱tows分析法 道斯矩陣 即態勢分析法,20世紀80年代初由美國舊金山大學的管理學教授韋里克提出,經常被用於企業戰略制定 競爭對手分析等場合。swot分析模型簡介 在現在的戰略規劃報告裡,swot分析應該算是乙個...
財務分析指標體系詳解
目錄一 概述 2 二 企業資產 負債和所有者權益的構成分析 6 三 企業資金結構分析 8 四 企業經營協調性分析 11 五 企業償債能力分析 13 六 企業利潤及利潤表分析 18 七 企業盈利能力分析 20 八 企業經營管理能力分析 25 九 企業發展能力分析 29 十 投資專案經濟可行性分析 33...