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

Thực hiện bị trì hoãn / lên lịch với Redis?

Nếu bạn muốn lập lịch với redis, tôi khuyên bạn nên sử dụng các lệnh đã được sắp xếp (z *):

http://code.google.com/p/redis/wiki/SortedSets

những gì bạn có thể làm là một cái gì đó như thế này:

ZADD jobs <unix timestamp of when you want the job to run> <job identifier>

ví dụ:

ZADD jobs 1291348355

Sau đó, thường xuyên (lên đến mỗi giây), bạn có thể kéo các công việc đã lên lịch sẽ chạy (hoặc lẽ ra phải chạy ngay bây giờ):

ZRANGEBYSCORE jobs -inf, <current unix timestamp>

Boom, bạn có công việc của mình để điều hành. Tất nhiên, hãy đảm bảo xóa các công việc đã hoàn thành khỏi nhóm đã sắp xếp.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Ruby - mutex dựa trên Redis với triển khai hết hạn

  2. Kết nối Redis đã mất từ ​​sự kiện đóng

  3. DB trong bộ nhớ quan hệ?

  4. Kết nối với AWS ElastiCache bằng Mã hóa In-Transit + Xác thực từ ứng dụng khách không phải redis-cli + stunnel

  5. Sidekiq không xử lý hàng đợi