Giới thiệu Memcached - Data PHP Caching

Giới thiệu Memcached - Data PHP Caching

Giới thiệu Memcached - Data PHP CachingTiếp nối chủ đề cache trên PHP, hôm nay mình giới thiếu tiếp đến các bạn một kỹ thuật cache nữa cũng rất phổ biến. Đó là data caching. Ở những loạt bài trước mình đề cập tới việc Opcode caching dành cho PHP, tuy nhiên nếu chỉ dừng lại tại mức đó thì performance cho web vẫn chưa có gì cải thiện lắm, và vẫn bị bottlenecks khi truy xuất DB. Và giải pháp data caching ra đời nhằm mục đích giải quyết cái bottlenecks này. Bài viết sau nhằm chia sẻ tới mọi người tổng quan việc cải thiện performance nhờ data caching, và một công cụ hữu dụng của việc này là Memcached

Hình 1: Load data without caching. Như chúng ta vẫn hay làm bình thường thì cứ mỗi lần chúng ta muốn truy xuất dữ liệu từ Database thì luôn đi qua 5 bước như trong hình, và việc open connection to database luôn là cái bottleneck hẹn hẹp khiến cho data flow của bạn chậm đi rất nhiều. Đây cũng chính là nguyên nhân chính khiến cho việc truy xuất data chậm đi rất nhiều

Hình 2: Load data with caching. Tại đây chúng ta thấy process flow đã thay đổi, không phải lúc nào cũng open connection to database. Có nghĩa là đã thêm 1 con đường khác cho "xe" chạy và con đường này rộng rãi hơn rất nhiều nên sẽ khó bị tình trạng "kẹt xe". Không chỉ vậy, sau khi chúng ta cache data, thì process flow cũng giảm đi rất nhiều bước, khiến cho quá trình lấy dữ liệu nhanh hơn rất nhiều.

Memcached  - PHP Data Caching Tool

1 - Giới thiệu

Memcached là một công cụ hỗ trợ data caching rất tốt và rất mạnh mẽ, và dĩ nhiên ưu điểm hàng đầu của nó là hoàn toàn miễn phí. Đây cũng là một công cụ mà Facebook đã xử dụng trong quá trình triển khai mạng xã hội hàng đầu thế giới của họ.

2 - Download các gói cần cài đặt

wget --no-check-certificate https://github.com/downloads/libevent/libevent/libevent-2.0.15-stable.tar.gz
tar xvzf libevent-2.0.15-stable.tar.gz
wget http://memcached.googlecode.com/files/memcached-1.4.8.tar.gz
tar xvzf memcached-1.4.8.tar.gz
wget http://pecl.php.net/get/memcache-2.2.6.tgz
tar xvzf memcache-2.2.6.tgz

3 - Cài đặt

cd libevent-2.0.15-stable
./configure
make
make install
ln -s /usr/local/lib/libevent-2.0.so.5 /usr/lib/libevent-2.0.so.5

cd ../memcached-1.4.8
./configure
make
make install

cd ../memcache-2.2.6
phpize
./configure
make
make install
echo extension=memcache.so >> /etc/php.ini

4 - Khởi động lại server apache

/etc/init.d/httpd restart

5 - Khởi động server memcached

/usr/local/bin/memcached -d -u nobody -m 32

6 - Thực hiện cache data với memcache. Bạn tạo 1 file testmemcache.php trong thư mục web (/var/www/html) với nội dung như bên dưới. Và sau đó và trình duyệt nhập vào địa chỉ sau: http://localhost/testmemcache.php để xem kết quả.

<?php
$memcache = new Memcache;
$memcache->connect('localhost', 11211) or die ("Could not connect");
$version = $memcache->getVersion();
echo "Server's version: ".$version."< br >";
$tmp_object = new stdClass;
$tmp_object->str_attr = 'test';
$tmp_object->int_attr = 123;
$memcache->set('key', $tmp_object, false, 10) or die ("Failed to save data at the server");
echo "Store data in the cache (data will expire in 10 seconds)"."< br >";
$get_result = $memcache->get('key');
echo "Data from the cache:"."< br >";
var_dump($get_result);

Cài đặt và kiểm tra kết nối memcached server thành công. Nếu các bạn cũng ra được đến đây thì xin chúc mừng các bạn, các bạn đã hoàn thành xong công đoạn cài đặt memcached

Bạn thấy bài viết này như thế nào?: 
Average: 10 (1 vote)
Ảnh của Khanh Hoang

Khanh Hoang - Kenn

Kenn is a user experience designer and front end developer who enjoys creating beautiful and usable web and mobile experiences.

Advertisement

 

jobsora

Dich vu khu trung tphcm

Dich vu diet chuot tphcm

Dich vu diet con trung

Quảng Cáo Bài Viết

 
Hiển thị thứ hạng Alexa cho website Drupal bằng module Alexa4drupal

Hiển thị thứ hạng Alexa cho website Drupal bằng module Alexa4drupal

Trong bài viết Thêm sắc màu cho web site Joomla! của bạn (Phần 1) đã có giới thiệu về cách sử dụng My Alexa Data để có thể hiện thị thứ hạng của Alexa cho website trên Joomla! nhưng hôm nay chúng tôi sẽ giới thiệu cách hiện thị thứ hạng Alexa trên một website bằng Drupal (giống như giao diện mới hiện tại của thông tin công nghệ được xây dựng trên Drupal).

Tên miền .vn của Việt Nam hơn gì tên miền .com?

Tên miền .vn của Việt Nam hơn gì tên miền .com?

Trong vài ngày gần đây, một số tờ báo đã thông tin về một loạt dự án bất động sản (BĐS) bị mất thương hiệu tên miền.com và đang phải xúc tiến mua lại. Thực chất câu chuyện có nghiêm trọng đến như vậy?

Giới thiệu bình Xịt Gián, MuỗI CIK 600 ml Hương Táo Mosfly

Giới thiệu bình Xịt Gián, MuỗI CIK 600 ml Hương Táo Mosfly

Hương táo thanh mát, chống muỗi hiệu quả nhưng người dùng vẫn cảm thấy thoải mái, dễ chịu

Công ty diệt chuột T&C

 

Diet con trung