Beginner’s Introduction to PHP Memcached
- 时间:2020-09-19 10:45:07
- 分类:网络文摘
- 阅读:158 次

php
Querying the Database e.g. MySQL could be very expensive relative to just a cache which is just a key value store . And for SELECT statements, we want to cache the results to speed up the performance. For example, I want to give you x equals to y and next time I ask for x and you give me y – and I want it quick, much faster than the database would return it to me.
The below shows the simple usage of PHP code that connects to a memcached daemon. And if the data is not in the cache, then we will query the MySQL database and store the result in the cache for next time’s retrieval.
1 2 3 4 5 6 7 8 9 | $memcache = memcache_connect(HOST, PORT); $user = memcache_get($memcache, $id); if (is_null($user)) { // cache miss $dbh = new PDO(DSN, USER, PASS); // id is a safe integer type $result = $dbh->query("SELECT * from users WHERE id=$id"); $user = $result->fetch(PDO:FETCH_ASSOC); memcache_set($memcache, $user['id'], $user); // store it in memcached } |
$memcache = memcache_connect(HOST, PORT);
$user = memcache_get($memcache, $id);
if (is_null($user)) { // cache miss
$dbh = new PDO(DSN, USER, PASS);
// id is a safe integer type
$result = $dbh->query("SELECT * from users WHERE id=$id");
$user = $result->fetch(PDO:FETCH_ASSOC);
memcache_set($memcache, $user['id'], $user); // store it in memcached
}The memcached has some expiration cache policy such as LFU (Least Frequent Used) – which evicts the least used cached if cache is full. Alternatively, we can manually expire the caches if the item values are changed. For example, we can combine the cache key with a counter, and increment the counter if we want to expire quite a few items in the cache.
1 2 3 | $cacheKeyForUser = $user['id'] . $counter[$id]; // increment $counter[$id] if $user $id has changed $counter[$id] ++; |
$cacheKeyForUser = $user['id'] . $counter[$id]; // increment $counter[$id] if $user $id has changed $counter[$id] ++;
–EOF (The Ultimate Computing & Technology Blog) —
推荐阅读:健康卫视直播-健康卫视在线直播观看「高清」 莲花卫视直播-莲花卫视在线直播观看「高清」 澳亚卫视直播-澳亚卫视在线直播观看「高清」 阳光卫视直播-阳光卫视在线直播观看「高清」 金鹰卡通直播-金鹰卡通在线直播观看「高清」 优漫卡通直播-优漫卡通卫视在线直播「高清」 炫动卡通直播-上海炫动卡通卫视直播「高清」 BTV卡酷少儿直播-北京卡酷动画卫视直播「高清」 嘉佳卡通卫视直播-嘉佳卡通直播在线观看「高清」 浙江少儿频道直播-浙江少儿在线直播观看「高清」
- 评论列表
-
- 添加评论