Redis
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> Redis

Cách đặt Ngày hết hạn cho nhiều khóa trong Redis

Thông thường, các nhà phát triển quên đặt thời hạn sử dụng cho các khóa và quá trình làm lại bắt đầu hết bộ nhớ. Mặc dù bạn có thể đặt thời hạn cho các khóa mới được tạo, nhưng bạn vẫn cần một cách để đặt thời hạn cho các khóa đã có trong bộ nhớ.


Lệnh này sẽ đặt thời hạn sử dụng cho các khóa phù hợp với người dùng:*


Tập lệnh hoạt động như thế nào?

  1. Đầu tiên, chúng tôi sử dụng redis-cli --scan --pattern <pattern> để nhận danh sách các khóa, một khóa trên mỗi dòng.
  2. Sau đó, chúng tôi chạy một tập lệnh awk cho mỗi khóa. Tập lệnh awk này hơi phức tạp, vì vậy chúng tôi sẽ chia nhỏ nó ra
  3. Tập lệnh awk có mẫu lệnh expire __key__ 1000 . Đây là lệnh sẽ chạy cho tất cả các phím.
  4. Đối với mỗi khóa phù hợp, lệnh awk thay thế __key__ với khóa thực tế
  5. Tiếp theo, chúng tôi chuyển đổi lệnh chuỗi sang định dạng giao thức redis. Đây là định dạng thô mà redis hiểu được.
  6. Cuối cùng, chúng tôi chuyển các lệnh thô sang redis-cli bằng cách sử dụng cờ –pipe. Đây là cách hiệu quả nhất để gửi các lệnh hàng loạt tới redis.

Tùy chỉnh tập lệnh này

  1. Bạn có thể tùy chỉnh cmd_template để chạy bất kỳ lệnh làm lại phím đơn nào đối với nhiều phím phù hợp với một mẫu.
  2. Quét redis chỉ cho phép các mẫu kiểu toàn cầu, không hỗ trợ regex. Vì vậy, người dùng users:* sẽ khớp với users:123 cũng như người dùng users:123:favourites . Bạn có thể đặt grep trong đường dẫn sau redis-cli đầu tiên và trước tập lệnh awk.
  3. Nếu máy chủ redis của bạn không có trên máy chủ cục bộ, bạn sẽ phải cung cấp máy chủ, cổng và mật khẩu hai lần trong lệnh, về cơ bản bất cứ khi nào bạn gọi redis-cli.

Xem thêm

  • Đổi tên các trường trong một băm
  • Đổi tên nhiều phím bằng tính năng quét
  • Xóa các phím phù hợp với một mẫu
  • RDBTools GUI cho Redis cho phép bạn xem trước các hành động hàng loạt của mình và cung cấp GUI mạnh mẽ để quản lý dữ liệu trong Redis. Đây là bản tải xuống miễn phí!

  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Đã vượt quá giới hạn kích thước bộ đệm / kết nối Redis

  2. Unicode trong python

  3. Redis kết nối ECONNREFUSED trong NodeJS trong cụm Kubernetes

  4. Viết trên Slave redis db

  5. Không thể kết nối với máy chủ redis từ vùng chứa docker