memchace 分布式快取訪問

2021-07-02 01:57:00 字數 1976 閱讀 9896

訪問在記憶體中 以md5($sql)進行訪問

<?php

//查詢資料庫,使用快取機制 簡單列子

$mem= new memcache;

//進行連線

$mem->addserver("127.0.0.1",11211);

//進行資料庫 sql拼接

//$sql= " select * from user";

//以md5方式 作為鍵值key 32

$key= md5($sql);

//取資料 從資料庫取值

$data= $mem->get($key);

//判斷資料$data是否有值

if(empty($data))

catch(pdoexception $e)

//執行查詢語句,獲得資料

$stmt = $pdo->prepare($sql);

$stmt->execute();

$data= $stmt->fetchall(pdo::fetch_assoc);

$mem->set($key,$data,memcache_compressed,10);

echo "從資料庫取值放在記憶體中呢";

}echo"

";

print_r($data);

echo"

";

執行結果:

第一次:

從資料庫取值放在記憶體中呢

array

( [0] => array

([id] => 25

[username] =>

[password] => 2939d0369753eab0bb6313cf02ab2dc2

[regtime] => 1429426065

[email] => [email protected]

[token] => d41d8cd98f00b204e9800998ecf8427e

[token_exptime] => 1429512465

[status] => 1

)[1] => array

([id] => 34

[username] =>

[password] => 2939d0369753eab0bb6313cf02ab2dc2

[regtime] => 1429447082

[email] => [email protected]

[token] => b8c9a6c622c3f505f028c35557e0ed18

[token_exptime] => 1429533482

[status] => 1

))

每隔10s從資料庫進行取資料

array

( [0] => array

([id] => 25

[username] =>

[password] => 2939d0369753eab0bb6313cf02ab2dc2

[regtime] => 1429426065

[email] => [email protected]

[token] => d41d8cd98f00b204e9800998ecf8427e

[token_exptime] => 1429512465

[status] => 1

)[1] => array

([id] => 34

[username] =>

[password] => 2939d0369753eab0bb6313cf02ab2dc2

[regtime] => 1429447082

[email] => [email protected]

[token] => b8c9a6c622c3f505f028c35557e0ed18

[token_exptime] => 1429533482

[status] => 1

))

分布式快取

分布式快取 原則來說跟應用伺服器分布式應該是一樣,但快取是有狀態的。怎麼樣提高命中?1.最原始的演算法 那就是key hash取模,取到伺服器ip。在大量伺服器伸縮行有問題,加入一台伺服器就有可能讓所有的快取都失效。如 key hash 後是100,取10膜是0,取11膜 1,101 取10膜是1,...

分布式快取

網際網路發展的同時,也引領者相關技術的發展與變革,比如集群 高併發 負載均衡 高可用 海量資料的處理 系統安全 分布式快取等各方面的相關技術。簡單談一下分布式快取技術。2 三層架構 1 web層 表現層 主要對使用者資料接收,以及資料處理完成後返回,為客戶端提 用程式的訪問 2 應用層 對業務的處理...

分布式快取

分布式快取 1 什麼是分布式快取?在高併發的環境下,大量的i o處理與cpu的處理速度顯然不在同乙個數量級,從減輕資料庫的壓力和提高系統的響應速度兩個角度來考慮,因而都會在資料庫之前加一層快取。由於單機的記憶體資源和承載能力有限,因而可以採用多台伺服器來用作快取,使得多台快取伺服器形同一台,並且不會...