Bài này mình sẽ đề cập đến những vấn đề sau :

  • Memcached là gì, tại sao cần cài memcached
  • Hướng dẫn cài memcached trên vps centos 7 và kiểm tra
  • Cài đặt Memcached và Memcached PHP Module trên CentOS
  • Xóa memcached

Memcached là gì ,tại sao cần cài memcached

Memcached là hệ thống cache dữ liệu giống như redis,Disk cache .Memcached cho phép chúng ta lưu tạm dữ liệu vào ram mà không cần truy vấn đến mysql khi truy cập lại dữ liệu đó

Sơ đồ hoạt động như sau

Nguyên lý hoạt động :

  • Yêu cầu đầu tiên: 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 thêm một việc là trả dữ liệu lưu theo mapping key,value vào memcached.
  • Các yêu cầu lần sau:
    • 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ừ 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 do giảm thiểu thời gian truy cập vào web

Như vậy memcached rất tốn ram nên các bạn ram ít tránh sử dụng nó nhé như mình dùng server ram 2,swap 3g nên dùng memcached rất mượt

Hướng dẫn cài memcached trên vps centos 7 và kiểm tra

Cài đặt trên centos 7 với dòng lệnh sau

yum install memcached

Đợi server download về thôi .Dùng lệnh

vi /etc/sysconfig/memcached

Để cấu hình memcached thôi

PORT="11211"
USER="memcached"
MAXCONN="1024"
CACHESIZE="64"
OPTIONS=""

Chủ yếu chúng ta chỉnh ở phần cachesize .Mặc định là 64 MB mình thì thường cho lên 128 Mb

Tiếp theo chúng ta khởi động lại memcache

chkconfig memcached on
service memcached start

Kiểm tra memcache có hoạt động hay không bằng 2 cách

memcached-tool 127.0.0.1:11211 stats

Hoặc

telnet 127.0.0.1 11211

Cài đặt Memcache và gói Memcached PHP trên CentOS 7

Kiểm tra php trên vps với lệnh php -v

[root@aaa ~]# php -v
PHP 5.6.28 (cli) (built: Nov  9 2016 07:15:39)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
[root@aaa ~]#

Thông số vps của mình là bản 5.6 nên mình dùng lệnh :yum –enablerepo=remi,remi-php56 install php-pecl-memcached php-pecl-memcache

Các bạn dựa vào bảng dưới đây để chọn lệnh phù hợp nhé

Bản phpLệnh
PHP 5.5yum –enablerepo=remi,remi-php55 install php-pecl-memcached php-pecl-memcache
PHP 5.6yum –enablerepo=remi,remi-php56 install php-pecl-memcached php-pecl-memcache
PHP 7.0yum –enablerepo=remi,remi-php70 install php-pecl-memcached php-pecl-memcache

Tiếp theo restart nginx

service nginx restart

Lưu ý có 1 số vps mặc định tắt cổng 11211 trong iptables .Bạn cần add thêm lệnh sau

iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 11211 -j ACCEPT

service iptables restart

Để mở cổng cho memcached nhé

Xóa Memcached

Đôi khi vì lý do nào đó bạn cần xóa memcached trong vps thì hãy làm theo các lệnh sau :

yum remove memcached php-pecl-memcached php-pecl-memcache
service php-fpm restart
service nginx restart

Chúc các bạn cài đặt thành công nhé .Hãy chia sẻ bài viết này cho bạn bè quan tâm .Có gì thắc mắc hãy để lại comment phía dưới nhé