Cách xóa redis cache bằng Command Line

Redis là một kho lưu trữ cấu trúc dữ liệu mã nguồn mở, trong bộ nhớ. Nó có thể được sử dụng như một cơ sở dữ liệu, bộ đệm, Redis hỗ trợ các cấu trúc dữ liệu khác nhau như Strings, Hashes, Lists, Sets v.v. Redis được viết bằng ANSI C và hoạt động trong hầu hết các hệ thống POSIX như Linux, *BSD và OS X mà không cần các thành phần phụ trợ. Trong bài viết này, chúng ta sẽ tìm hiểu cách xóa Redis Cache đơn giản với Command Line

Các kiểu dữ liệu trong Redis

Tương tự như Memcache , Redis lưu trữ data dưới dạng key-value, tuy nhiên kiểu dữ liệu của memcache bị hạn chế, không đa dạng được như Redis, do đó không hỗ trợ được nhiều thao tác từ phía người dùng. Dưới đây là sơ lược về các kiểu dữ liệu Redis dùng để lưu value.

STRING: string, integer hoặc float. Redis có thể làm việc với cả string, từng phần của string, cũng như tăng/giảm giá trị của integer, float.

LIST: List là một danh sách của strings, sắp xếp theo thứ tự insert. Redis có thể thêm một phần tử vào đầu hoặc cuối list. List phù hợp cho các bài toán cần thao tác với các phần tử gần đầu và cuối vì việc truy xuất này là cực nhanh, cho dù insert cả triệu phần tử. Tuy nhiên nhược điểm là việc truy cập vào các phần tử ở giữa list rất chậm.

SET: tập hợp các string (không được sắp xếp). Redis hỗ trợ các thao tác thêm, đọc, xóa từng phần tử, kiểm tra sự xuất hiện của phần tử trong tập hợp. Ngoài ra Redis còn hỗ trợ các phép toán tập hợp, gồm intersect/union/difference.

HASH: lưu trữ hash table của các cặp key-value, trong đó key được sắp xếp ngẫu nhiên, không theo thứ tự nào cả. Redis hỗ trợ các thao tác thêm, đọc, xóa từng phần tử, cũng như đọc tất cả giá trị.

Ngoài ra, Redis còn hỗ trợ các data types khác như: Bit arrays, HyperLogLogs, Streams

Tại sao bạn muốn xóa Redis Cache?

Bạn có thể cần xóa bộ đệm Redis vì một trong những lý do sau:

  • Ứng dụng của bạn đang chạy chậm, vì vậy bạn muốn kiểm tra xem phiên bản Redis của mình có phải là thành phần chạy chậm hay không.
  • Bạn muốn xóa một đống dữ liệu cũ không còn phù hợp.
  • Bạn đang gỡ lỗi sự cố và muốn xem liệu việc xóa Redis có giúp ích gì không.

Lệnh redis-cli được sử dụng để chạy các lệnh đối với phiên bản Redis của bạn từ thiết bị đầu cuối của bạn. Bạn cần có quyền truy cập SSH vào máy chủ của mình.

Xóa Redis Cache bằng lệnh redis-cli

Redis-cli là một tùy chọn tuyệt vời nếu bạn có quyền truy cập SSH vào máy chủ của mình. Thực hiện theo các bước sau để sử dụng nó:

Đăng nhập vào máy chủ của bạn qua SSH

Khi bạn đã đăng nhập vào máy chủ Redis của mình, bây giờ bạn có thể chạy các lệnh redis-cli để xem IP và port kết nối

Để xóa toàn bộ redis cache bạn có thể sử dụng lệnh redis-cli flushall

Thao tác này sẽ xóa toàn bộ bộ nhớ redis cache

Nếu bạn muốn xóa Redis Cache cho cơ sở dữ liệu nhất định, trước tiên bạn cần tìm ra số cơ sở dữ liệu bằng cách sử dụng lệnh:

redis-cli CONFIG GET databases


Bạn có thể sử dụng lệnh bên dưới để xóa redis cache cho cơ sở dữ liệu tùy chọn

redis-cli -n <database_number> flushdb

Thay thế <database_number> bằng số cơ sở dữ liệu của bạn.

Từ Redis 4.0.0 trở đi, các khóa có thể bị xóa mà không ảnh hưởng đến hiệu suất máy chủ (các tiến trình sẽ chạy ngầm) Bạn có thể thực hiện việc này bằng cách sử dụng lệnh flushall với tham số async :

redis-cli flushall async

Tương tự nếu bạn muốn xóa redis cache của cơ sở dữ liệu nào đó thì dùng lệnh

redis-cli -n <database_number> flushdb async

Kiểm tra tình trạng redis service

Bạn có thể xem tình trạng và khởi chạy dịch vụ redis cache với lệnh

sudo systemctl status redis

Nếu cần chạy redis cache bạn chạy lệnh

sudo service redis restart hoặc sudo restart redis

Kết luận

Trong bài viết này, chúng ta chắc bạn đã biết cách xóa bộ đệm Redis bằng redis-cli. Cá nhân tôi cũng nhận thấy rằng trong khi sử dụng Redis Caching với LiteSpeed ​​Cache, đôi khi nó trở nên rất chậm và khi bạn tắt bộ nhớ đệm đối tượng, trang web của bạn sẽ trở nên bình thường.

Hy vọng bài viết này sẽ giúp ích được cho nhiều người.

daotiendung

Tiến Dũng Đào chuyên quản lý, vận hành các dịch vụ website. Anh có nhiều năm kinh nghiệm về VPS, Hosting, technical SEO, CMS. Đặc biệt yêu thích WordPress với hơn 5 năm phát triển theme và plugin. Sở thích của anh là đọc, viết blog, đi du lịch, tập võ và chia sẻ các kiến thức cho mọi người.

Bài viết liên quan