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

Tại sao tôi không thể chạy tập lệnh lua trong redis sau khi redis khởi động lại?

Tập lệnh Lua phía máy chủ không được Redis lưu hoặc lưu trữ. Chúng không tương tự với các thủ tục được lưu trữ mà bạn có thể tìm thấy trong RDBMS.

Các máy khách phải cung cấp văn bản của tập lệnh ít nhất cho lần thực thi đầu tiên của tập lệnh (tức là sử dụng EVAL cho lần thực thi đầu tiên và EVALSHA cho các lần gọi tiếp theo). Ngoài ra, bạn cũng có thể sử dụng SCRIPT LOAD và SCRIPT EXISTS, tùy trường hợp có thể thuận tiện hơn.

Điều này phức tạp hơn một chút để xử lý cho ứng dụng, nhưng có những lợi ích:nó làm cho máy chủ Redis không có trạng thái liên quan đến tập lệnh Lua. Mã của ứng dụng (bao gồm các tập lệnh Lua) được quản lý ở phía ứng dụng. Bạn không cần phải áp dụng thứ gì đó trên máy chủ Redis trước khi tải phiên bản mới của ứng dụng (ngay cả khi các tập lệnh Lua đã thay đổi).

Thuộc tính này rất hữu ích trong bối cảnh cơ sở hạ tầng phân tán để hỗ trợ tải ứng dụng một cách nhanh chóng, hoặc sharding phía máy khách hoặc cụm Redis.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Tự động hoàn thành Redis

  2. Thư mục dữ liệu trong Redis ở đâu?

  3. Redis khởi động theo cách thủ công với init.d nhưng không khởi động được

  4. Sự khác biệt giữa lưu trữ Số nguyên và Chuỗi trong Redis

  5. Cách tạo bean của FindByIndexNameSessionRepository