Quản lý và sử dụng cơ sở dữ liệu Memcached
Memcached là một hệ thống bộ nhớ đệm đối tượng phân tán hiệu suất cao, được sử dụng để tăng tốc các ứng dụng Web động bằng cách lưu trữ kết quả truy vấn cơ sở dữ liệu, dữ liệu phiên, v.v., nhằm giảm tải cho cơ sở dữ liệu. ServBay đi kèm với Memcached, bài viết này sẽ giới thiệu chi tiết cách quản lý và sử dụng Memcached trong ServBay, bao gồm cài đặt, cấu hình, sao lưu, phục hồi và tối ưu hóa hiệu suất.
Cài đặt và cấu hình Memcached
ServBay đi kèm với Memcached, bạn chỉ cần đảm bảo rằng nó đang chạy và thực hiện các cấu hình cần thiết.
Khởi động và quản lý dịch vụ Memcached
Bạn có thể quản lý dịch vụ Memcached thông qua nền tảng quản lý của ServBay hoặc công cụ dòng lệnh servbayctl
.
Sử dụng nền tảng quản lý của ServBay
- Mở nền tảng quản lý ServBay.
- Đi tới "Dịch vụ".
- Tìm dịch vụ Memcached và thực hiện các thao tác khởi động, dừng hoặc khởi động lại.
Sử dụng công cụ dòng lệnh servbayctl
# Khởi động dịch vụ Memcached
servbayctl start memcached -all
# Dừng dịch vụ Memcached
servbayctl stop memcached -all
# Khởi động lại dịch vụ Memcached
servbayctl restart memcached -all
# Xem trạng thái dịch vụ Memcached
servbayctl status memcached -all
2
3
4
5
6
7
8
9
10
11
Cấu hình Memcached
Cấu hình khởi động mặc định của Memcached trong ServBay đã được tối ưu hóa.
Kết nối Memcached
Bạn có thể sử dụng công cụ dòng lệnh telnet
, nc
hoặc thư viện khách của các ngôn ngữ lập trình (như pylibmc
của Python, lớp Memcached
của PHP, v.v.) để kết nối với Memcached.
Sử dụng dòng lệnh để kết nối
Sử dụng telnet để kết nối:
bashtelnet localhost 11211
1Sử dụng nc để kết nối:
bashnc localhost 11211
1
Sử dụng ngôn ngữ lập trình để kết nối
Ví dụ Python
Sử dụng thư viện pylibmc
để kết nối Memcached:
import pylibmc
mc = pylibmc.Client(["localhost"], binary=True)
mc["key"] = "value"
print(mc["key"])
2
3
4
5
Ví dụ PHP
Sử dụng lớp Memcached
để kết nối Memcached:
$memcached = new Memcached();
$memcached->addServer("localhost", 11211);
$memcached->set("key", "value");
echo $memcached->get("key");
2
3
4
Quản lý cơ sở dữ liệu
Các thao tác cơ bản
Đặt cặp khóa-giá trị:
bashset mykey 0 900 11 Hello, Memcached!
1
2Lấy cặp khóa-giá trị:
bashget mykey
1Xóa cặp khóa-giá trị:
bashdelete mykey
1
Sao lưu và phục hồi
Memcached là một hệ thống bộ nhớ đệm, do đó thường không cung cấp lưu trữ bền vững, nên các hoạt động sao lưu và phục hồi chủ yếu nhằm xuất và nhập dữ liệu bộ nhớ đệm.
Xuất dữ liệu bộ nhớ đệm
Có thể sử dụng kịch bản để xuất dữ liệu trong Memcached. Ví dụ, sử dụng kịch bản Python để lặp qua tất cả các khóa và lưu vào tệp tin.
Nhập dữ liệu bộ nhớ đệm
Có thể sử dụng kịch bản để nhập dữ liệu vào Memcached. Ví dụ, sử dụng kịch bản Python để đọc tệp tin và ghi vào Memcached.
Tối ưu hóa hiệu suất
Memcached cung cấp nhiều tùy chọn tối ưu hóa hiệu suất, dưới đây là một số phương pháp tối ưu hóa thông thường.
Tối ưu hóa bộ nhớ
Đảm bảo cấu hình giới hạn bộ nhớ hợp lý, ví dụ:
-m 64
Tối ưu hóa kết nối
Điều chỉnh số kết nối tối đa để hỗ trợ nhiều kết nối đồng thời hơn:
-c 1024
Quản lý bảo mật
Đảm bảo an toàn cho Memcached là rất quan trọng, dưới đây là một số gợi ý quản lý bảo mật.
Hạn chế truy cập
Hạn chế quyền truy cập của Memcached qua tệp cấu hình, ví dụ chỉ cho phép truy cập tại chỗ:
-l 127.0.0.1
Sử dụng tường lửa
Sử dụng tường lửa để giới hạn truy cập vào cổng của Memcached (mặc định là 11211).
Các vấn đề thường gặp và giải pháp
Không thể kết nối đến Memcached
Kiểm tra xem Memcached có đang chạy hay không:
bashservbayctl status memcached -all
1Kiểm tra cấu hình tường lửa: Đảm bảo rằng tường lửa cho phép vượt qua cổng của Memcached (mặc định là 11211).
Tỷ lệ truy cập bộ nhớ đệm thấp
Kiểm tra chiến lược bộ nhớ đệm: Đảm bảo chiến lược bộ nhớ đệm hợp lý, tránh tình trạng bộ nhớ đệm bị hết hạn thường xuyên.
Tăng bộ nhớ: Tăng hạn bộ nhớ cho Memcached để lưu trữ được nhiều dữ liệu hơn.
Tổng kết
Memcached là một hệ thống bộ nhớ đệm hiệu quả, ServBay đi kèm với Memcached giúp việc quản lý và sử dụng bộ nhớ đệm trở nên dễ dàng hơn. Qua bài viết này, bạn có thể dễ dàng thực hiện các thao tác cài đặt, cấu hình, kết nối, quản lý, sao lưu, phục hồi và tối ưu hóa hiệu suất cho Memcached, đảm bảo hệ thống bộ nhớ đệm hoạt động hiệu quả và an toàn.