Redis là một giải pháp mã nguồn mở để lưu trữ cấu trúc dữ liệu. Nó chủ yếu được sử dụng như một kho lưu trữ khóa-giá trị (key-value), cho phép nó hoạt động như một cơ sở dữ liệu, lưu trữ bộ nhớ cache và môi giới thông báo.
Trong hướng dẫn này, chiasefree sẽ trình bày các cách khác nhau để bạn có thể xóa các khóa-giá trị (keys) này và xóa bộ nhớ cache Redis.
Điều kiện thực hiện
- Phiên bản mới nhất của Redis (xem hướng dẫn về cách cài đặt Redis trên Ubuntu 22.04)
- Truy cập vào cửa sổ dòng lệnh
Nội dung chính
Xóa Redis Cache với redis-cli
Cách dễ nhất để xóa bộ nhớ cache của Redis là sử dụng lệnh redis-cli
.
Cơ sở dữ liệu trong Redis được lưu trữ riêng lẻ. Sử dụng lệnh redis-cli
cho phép bạn xóa các khóa khỏi tất cả các cơ sở dữ liệu hoặc chỉ từ một cơ sở dữ liệu được chỉ định duy nhất.
Cú pháp lệnh redis-cli
Lệnh redis-cli
được sử dụng như sau:
1 |
redis-cli [database number] [option] |
Ở đâu:
- [option] – Cho phép bạn chọn giữa xóa tất cả cơ sở dữ liệu hoặc một cơ sở dữ liệu cụ thể mà bạn chọn.
- [database number] – Cho phép bạn chỉ định cơ sở dữ liệu nào bạn muốn xóa.
Lưu ý: Sau khi bạn xóa khóa khỏi cơ sở dữ liệu, chúng sẽ không thể khôi phục được nữa.
Xóa tất cả các khóa
Để xóa khóa khỏi tất cả cơ sở dữ liệu Redis, hãy sử dụng lệnh sau:
1 |
redis-cli flushall |
Kể từ phiên bản 4.0.0, Redis có thể xóa các khóa trong nền mà không chặn máy chủ của bạn. Để thực hiện việc này, hãy sử dụng lệnh flushall
với tham số async
:
1 |
redis-cli flushall async |
Xóa khóa khỏi cơ sở dữ liệu cụ thể
Sử dụng lệnh sau để chỉ xóa một cơ sở dữ liệu cụ thể:
1 |
redis-cli flushdb |
Sử dụng lệnh flushdb
mà không có bất kỳ tham số nào sẽ xóa cơ sở dữ liệu hiện được chọn. Sử dụng tham số -n với số cơ sở dữ liệu để chọn một cơ sở dữ liệu cụ thể mà bạn muốn xóa:
1 |
redis-cli -n [database number] flushdb |
Bạn cũng có thể sử dụng tùy chọn không đồng bộ khi xóa khóa khỏi cơ sở dữ liệu riêng lẻ:
1 |
redis-cli -n [database number] flushdb async |
Tự động xóa bộ nhớ cache bằng cách sử dụng Ansible
Nếu bạn có một số lượng lớn máy chủ Redis đang chạy, việc xóa bộ nhớ cache cho từng máy chủ theo cách thủ công sẽ mất thời gian.
Để tăng tốc quá trình này, hãy sử dụng một công cụ như Ansible để xóa bộ nhớ cache trên tất cả các máy chủ Redis của bạn cùng một lúc:
1 |
ansible all -m command -a '/usr/bin/redis-cli flushall ' |
Chạy lệnh này sẽ áp dụng lệnh flushall
cho mọi máy chủ trong tệp kiểm kê Ansible của bạn:
all
– Cho phép bạn chọn tất cả các máy chủ từ xa trong tệp kiểm kê Ansible.-m
– Cho phép bạn chọn một mô-đun để thực thi.-a
– Cung cấp một đối số cho mô-đun. Trong trường hợp này, mô-đun lệnh chạy lệnh flushall với redis-cli.
Kết luận
Sau khi xem qua hướng dẫn này, bạn đã học cách sử dụng các lệnh redis-cli
và flush
để xóa bộ nhớ cache Redis của mình. Chúc bạn thành công.
Add Comment