आप इस उपयोग के मामले के लिए रेडिस के सेट का उपयोग कर सकते हैं:
यदि समय स्लॉट हमेशा 15 मिनट के गुणकों में होते हैं तो आप ऐसा कर सकते हैं:
1) एक सार्वभौमिक सेट रखें जिसमें सभी समय स्लॉट हों। यहाँ 15 का गुणज है।
sadd universal 08:00 08:15 08:30 08:45 09:00 ...
2) टीम में प्रत्येक सदस्य के लिए उनके लिए बुक किए गए स्लॉट के लिए एक अलग सेट है। सदस्य1 के लिए 08:15-08:50 आपको उसे 09:00 . तक व्यस्त रखना होगा ।
sadd member_1 08:15 08:30 08:45 09:00
3) इसी प्रकार अन्य सदस्यों के लिए भी करें। सदस्य2 08:30-09:30
sadd member_2 08:30 08:45 09:00 09:30
4) अब आप प्रत्येक सदस्य के लिए
. का उपयोग करके मुफ्त स्लॉट प्राप्त कर सकते हैंsdiff universal member_1
5) ओवरऑल स्लॉट्स के लिए फ्री। आपको दो ऑपरेशन करने हैं।
result = sinter member_1 member_2 ...
sdiff universal result
सभी सदस्यों के सेट को प्रतिच्छेद करते हुए समय स्लॉट देगा जहां सभी उपयोगकर्ता व्यस्त हैं। तो आप उन स्लॉट को आवंटित नहीं कर सकते हैं।
यूनिवर्सल सेट के साथ घटाव (diff) ऑपरेशन करने से आपको कुल स्लॉट मिल जाएंगे जो कि खाली है।
उम्मीद है ये मदद करेगा।