Memcached là một hệ thống lưu trữ đệm đối tượng bộ nhớ phân tán và mã nguồn mở, lưu trữ dữ liệu được truy vấn thường xuyên nhất trong bộ nhớ. Điều này sẽ giảm thời gian tải dữ liệu cũng như cung cấp khả năng truy cập dễ dàng vào cơ sở dữ liệu. Bạn có thể sử dụng Memcached để tăng tốc các ứng dụng web động bằng cách giảm tải cơ sở dữ liệu. Nó đơn giản, dễ triển khai và có thể tích hợp với nhiều ngôn ngữ lập trình bao gồm PHP, Python, v.v.
Trong hướng dẫn này, tôi sẽ chỉ cho bạn cách cài đặt Memcached trên Debian 11.
Sau khi Memcached được cài đặt, hãy khởi động dịch vụ Memcached và cho phép nó khởi động khi khởi động lại hệ thống:
Bạn cũng có thể kiểm tra trạng thái của Memcached bằng lệnh sau:
Bạn sẽ nhận được kết quả sau:
Theo mặc định, Memcached lắng nghe trên cổng 11211. Bạn có thể kiểm tra bằng lệnh sau:
Bạn sẽ nhận được kết quả đầu ra sau:
Bạn có thể thay đổi một số tùy chọn mặc định theo yêu cầu của mình:
Lưu và đóng tệp, sau đó khởi động lại dịch vụ Memcached để áp dụng các thay đổi:
Nếu bạn muốn bật hỗ trợ Python và Perl, hãy chạy lệnh sau:
Sau khi tất cả các thư viện được cài đặt, bạn có thể tiến hành bước tiếp theo.
Sau khi tất cả các gói được cài đặt, hãy tạo tệp info.php bằng lệnh sau:
Thêm các dòng sau:
Lưu và đóng tệp, sau đó mở trình duyệt web của bạn và truy cập URL
. Bạn sẽ thấy Memcached được bật trên trang kiểm tra sau:
Trước tiên, hãy kết nối với Memcached bằng lệnh sau:
Sau khi kết nối, bạn sẽ nhận được đầu ra sau:
Bây giờ, hãy kiểm tra trạng thái của Memcached bằng lệnh sau:
Bạn sẽ thấy một số thông tin quan trọng như thời gian hoạt động, số lượng mục trong bộ nhớ đệm và số lượng kết nối máy khách đến phiên bản trong đầu ra sau:
Trong hướng dẫn này, tôi sẽ chỉ cho bạn cách cài đặt Memcached trên Debian 11.
Điều kiện tiên quyết
- Máy chủ chạy Debian 11.
- Mật khẩu gốc được cấu hình trên máy chủ.
Cài đặt Memcached trên Debian 11
Theo mặc định, Memcached được bao gồm trong kho lưu trữ mặc định của Debian 11. Bạn có thể cài đặt bằng cách chạy lệnh sau:
Mã:
apt-get install memcached libmemcached-tools -y
Mã:
systemctl start memcached
systemctl enable memcached
Mã:
systemctl status memcached
Mã:
? memcached.service - daemon memcached Đã tải: đã tải (/lib/systemd/system/memcached.service; enabled; vendor preset: enabled) Đang hoạt động: đang hoạt động (đang chạy) kể từ Thứ Hai 2021-11-01 10:12:25 UTC; 14 giây trước Tài liệu: man:memcached(1) PID chính: 28398 (memcached) Nhiệm vụ: 10 (giới hạn: 4679) Bộ nhớ: 3,1M CPU: 28ms CGroup: /system.slice/memcached.service ??28398 /usr/bin/memcached -m 64 -p 11211 -u memcache -l 127.0.0.1 -P /var/run/memcached/memcached.pid01/11 10:12:25 debian11 systemd[1]: Đã khởi động daemon memcached.
Mã:
ss -antpl | grep memcached
Mã:
LISTEN 0 1024 127.0.0.1:11211 0.0.0.0:* users:(("memcached",pid=28398,fd=26))
Cấu hình Memcached
Tệp cấu hình mặc định của Memcached nằm tại /etc/memcached.conf. Bạn có thể chỉnh sửa bằng lệnh sau:
Mã:
nano /etc/memcached.conf
Mã:
-l 127.0.0.1-U 0-p 11211-u memcache-m 2000
Mã:
systemctl restart memcached
Bật Memcached cho các ứng dụng PHP và Python
Để sử dụng Memcached với ứng dụng dựa trên PHP, bạn sẽ cần cài đặt thư viện PHP Memcached vào máy chủ của mình. Bạn có thể cài đặt bằng lệnh sau:
Mã:
apt-get install php-memcached -y
Mã:
apt-get install python3-pymemcache libcache-memcached-libmemcached-perl -y
Xác minh Memcached
Memcached hiện đã được cài đặt và cấu hình. Bây giờ, hãy tạo một tập lệnh PHP đơn giản để xác minh Memcached. Trước tiên, hãy cài đặt Apache và PHP bằng lệnh sau:
Mã:
apt-get install apache2 php libapache2-mod-php -y
Mã:
nano /var/www/html/info.php
Mã:
Truy cập Giao diện CLI Memcached
Memcached cung cấp giao diện dòng lệnh để tương tác trực tiếp với Memcached bằng dòng lệnh.Trước tiên, hãy kết nối với Memcached bằng lệnh sau:
Mã:
telnet localhost 11211
Mã:
Đang thử ::1...Đang thử 127.0.0.1...Đã kết nối với localhost.Ký tự thoát là '^]'.
Mã:
stats
Mã:
STAT pid 28398Thời gian hoạt động của STAT 222Thời gian STAT 1635761765Phiên bản STAT 1.6.9STAT libevent 2.1.12-stableSTAT pointer_size 64STAT rusage_user 0.049028STAT rusage_system 0.049054STAT max_connections 1024STAT curr_connections 1STAT total_connections 2STAT rejected_connections 0STAT connection_structures 2STAT response_obj_oom 0STAT response_obj_count 1STAT response_obj_bytes 16384STAT read_buf_count 2STAT read_buf_bytes 32768STAT read_buf_bytes_free 0STAT read_buf_oom 0STAT reserved_fds 20STAT cmd_get 0STAT cmd_set 0STAT cmd_flush 0STAT cmd_touch 0STAT cmd_meta 0STAT get_hits 0STAT get_misses 0STAT get_expired 0STAT get_flushed 0STAT delete_misses 0STAT delete_hits 0STAT incr_misses 0STAT incr_hits 0STAT decr_misses 0STAT decr_hits 0STAT cas_misses 0STAT cas_hits 0STAT cas_badval 0STAT touch_hits 0STAT touch_misses 0STAT auth_cmds 0STAT auth_errors 0STAT bytes_read 7STAT bytes_written 0STAT limit_maxbytes 67108864STAT accepted_conns 1STAT listen_disabled_num 0STAT time_in_listen_disabled_us 0STAT threads 4STAT conn_yields 0STAT hash_power_level 16STAT hash_bytes 524288STAT hash_is_expanding 0STAT slab_reassign_rescues 0STAT slab_reassign_chunk_rescues 0STAT slab_reassign_evictions_nomem 0STAT slab_reassign_inline_reclaim 0STAT slab_reassign_busy_items 0STAT slab_reassign_busy_deletes 0STAT slab_reassign_running 0STAT slabs_moved 0STAT lru_crawler_running 0STAT lru_crawler_starts 3STAT lru_maintainer_juggles 272STAT malloc_fails 0STAT log_worker_dropped 0STAT log_worker_written 0STAT log_watcher_skipped 0STAT log_watcher_sent 0STAT unexpected_napi_ids 0STAT round_robin_fallback 0STAT byte 0STAT curr_items 0STAT total_items 0STAT slab_global_page_pool 0STAT expired_unfetched 0STAT evicted_unfetched 0STAT evicted_active 0STAT evictions 0STAT reclaimed 0STAT crawler_reclaimed 0STAT crawler_items_checked 0STAT lrutail_reflocked 0STAT moves_to_cold 0STAT moves_to_warm 0STAT moves_within_lru 0STAT direct_reclaims 0STAT lru_bumps_dropped 0