Memcache là gì ?
Memcached cũng là cache nhưng nó không giống như các bộ cache trên, nó là 1 service độc lập như mysql. Memcached cung cấp cho bạn khả năng lưu trữ đối tượng bất kỳ vào trong RAM. Để PHP có thể hoạt động với memcached bạn cần cài 1 phần mở rộng để PHP có thể hoạt động với memcached dựa vào các hàm và class mà phần mở rộng đó cung cấp. (VD: phần mở rộng Memcache)
Như vậy, muốn dùng memcached bạn phải cài memcached và cài memcache extension.
Hiện nay hầu hết các mã nguồn mở và thương mại đều hỗ trợ memcache. Ví dụ: vBulletin & Xenforo sẽ lưu các options vào memcached, khi có người truy cập thì các option này sẽ được lấy ra từ trong RAM chứ không query trong database ra nữa.
Sơ đồ hoạt động Memcache :
Sau khi có memcached thì lần đầu tiên của user thường truy cập vào CSDL thì server sẽ trả lại kết quả cho user như thông thường hiện nay và kèm them một việc là trả dữ liệu vào server memcached. Lúc đó lần sau user truy cập nó sẽ không yêu cầu server làm việc nữa thay vào đó nó sẻ đưa từ server memcached trả lại cho user . việc đó sẽ giúp giảm thiểu 1 lượng lớn công việc mà server cần làm việc. Giúp website của bạn chạy nhanh hơn khoảng 70%
-Tổng hợp nhiều nguồn-
1. Hưỡng dẫn cài đặt Module Memcache tuyệt vời này trên Centos 4+ :
Trước khi cài đặt Memcache các bạn cần phải bắt buộc đã cài đặt các gói sau :
yum install gcc
Dành cho PHP 5 :
yum install php-devel
Dành cho PHP 5.3 trở lên :
yum install php53-devel
Đối với các phiên bản i386 / i686 :
rpm -Uhv http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
Đối với các phiên bản x86_64 :
rpm -Uhv http://apt.sw.be/redhat/el5/en/x86_64/rpmforge/RPMS//rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm
Bắt đầu cài đặt :
yum -y install memcached
Chỉnh sửa Config Memcache :
vi /etc/sysconfig/memcached
Chỉnh sửa nội dung bên dưới
PORT=”11211″ #define on which port to urn
USER=”nobody” #same as apache user
MAXCONN=”1024″ #maximum number of connections allowed
CACHESIZE=”64″ #memory used for caching
OPTIONS=”' #use for any custom options
Lưu file bằng cách ấn tổ hợp phím Ctrl + C đánh ':wq'
Khởi động chạy
/etc/init.d/memcached start
netstat -anp | grep 11211
2. Cài đặt Extension cho PHP :
cd /usr/src
wget http://pecl.php.net/get/memcache-2.2.5.tgz
tar zxvf memcache-2.2.5.tgz
cd memcache-2.2.5
phpize
./configure
make
make install
Tìm vị trí của file php.ini và chỉnh sửa trên đường dẫn
php -i | grep php.ini
Configuration File (php.ini) Path => /usr/local/lib
Loaded Configuration File => /usr/local/lib/php.ini
Thêm dòng: extension = 'memcache.so' vào file php.ini
vi /usr/local/lib/php.ini
extension = “memcache.so”
khởi động lại Apache
/etc/init.d/httpd restart
Check mencached đã chạy ok hay chưa?
php -i | grep memcache
Với các bước hưỡng dẫn trên các bạn có thể giảm bớt các truy vấn MySQL lên máy chủ, sẽ tăng khả năng máy chủ chạy ổn định và giảm nhiều RAM xử lý hơn trên máy chủ của bạn.
Chúc các bạn thành công !