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

Sử dụng Redis để tạo ID duy nhất từ ​​một phạm vi giới hạn

Làm thế nào về việc sử dụng Bitmap để ghi lại, cho mọi nbr có thể , giá trị đó có được sử dụng hay không?

Để ghi lại rằng một giá trị được sử dụng, hãy sử dụng SETBIT :

SETBIT key [nbr] 1

Để tìm một nbr miễn phí sử dụng BITPOS :

BITPOS key 0

Để tránh các điều kiện của cuộc đua, bạn sẽ muốn đảm bảo rằng thiết lập của bạn là nguyên tử. [OP giải quyết vấn đề này trong một câu hỏi tiếp theo.]

Điều này sẽ yêu cầu rất ít bộ nhớ (8K byte cho 65536 giá trị có thể). BITPOS là O (n), nhưng đó không chắc là một vấn đề thực sự.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Sử dụng Redis với Node.js và Socket.IO

  2. Làm thế nào để biết sidekiq được kết nối với máy chủ redis?

  3. Redis - Bảng Lua làm giá trị trả về - tại sao điều này không hoạt động

  4. pagecache, răng giả, inodes là gì?

  5. Đây có phải là một trường hợp sử dụng tốt cho Redis trên API ServiceStack REST không?