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

Khớp Redis QUÉT

Đối sánh quét của Redis chỉ hỗ trợ đối sánh kiểu toàn cầu. Nó không thể thực hiện đối sánh regex. Để đạt được mục tiêu của mình, bạn có hai lựa chọn:

  1. Quét tất cả các khóa và khớp ở phía máy khách.
  2. Sử dụng tập lệnh Lua để quét và đối sánh. Bạn có thể thử một lớp lót sau làm ví dụ:
redis-cli eval 'local res = redis.call("scan", ARGV[1]); local matches = {}; for i,v in ipairs(res[2]) do if v == string.match(v, ARGV[2]) then matches[#matches+1] = v end end res[2] = matches; return res' 0 cursor-starting-from-0 'Person:[^:]*'

Một lớp lót này trả về kết quả chính xác như lệnh quét được tích hợp sẵn. Tôi không phải là chuyên gia về Lua và mã này chưa được kiểm tra đầy đủ.

Ngoài ra, đối sánh của Lua KHÔNG phải là đối sánh regex, mặc dù nó có thể giải quyết hầu hết các vấn đề. Bạn cần lấy tham chiếu của Lua để kiểm tra xem nó có phù hợp với trường hợp của bạn không.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Dịch vụ Redis

  2. Chức năng Google Cloud hết thời gian hoạt động khi kết nối với Redis trên IP nội bộ của Compute Engine

  3. Khi nào tắt Trang khổng lồ trong suốt để chỉnh sửa

  4. Chuyển từ SQLite sang Redis

  5. Làm cách nào để xóa tất cả các Phiên bản loại X trong Máy khách ServiceStack Redis