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

Redis lua script không hoạt động

Phản hồi cho redis.call trả về dưới dạng một bảng giống như sau:{"ok": "string"} (tất nhiên nếu kiểu là một chuỗi)

Vì vậy, để kiểm tra chính xác, bạn nên thay đổi mã của mình thành:

local keyType = redis.call("TYPE", KEYS[1]).ok

và phần còn lại của mã sẽ hoạt động tốt.

Vấn đề là ở đây:lệnh TYPE là một trong số ít lệnh trả về phản hồi "chuỗi đơn giản" hoặc "trạng thái" (xem thông số kỹ thuật giao thức redis cho các loại phản hồi). Trong tài liệu redis lua có ghi rằng:

Redis trả lời trạng thái -> Bảng Lua với một trường ok duy nhất chứa trạng thái

Đó là những gì đã xảy ra ở đây.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Có giới hạn nào về số lượng đối số mà các lệnh redis như ZADD hoặc HMGET có thể xử lý không?

  2. Nhận tất cả các khóa trong cơ sở dữ liệu Redis bằng python

  3. Hiệu quả của Java + Redis so với Java đơn giản cho các ứng dụng chuyên sâu về dữ liệu?

  4. Tại sao sử dụng Redis thay vì MongoDb cho bộ nhớ đệm?

  5. Bull queue:Khi một công việc không thành công, làm thế nào để ngăn hàng đợi xử lý các công việc còn lại?