রেডিস: অ্যারে বা সাজানো সেটটিতে কোনও উপাদানটির মেয়াদ শেষ করা সম্ভব?


124

বর্তমানে কেবলমাত্র একটি সম্পূর্ণ কী / মান জুটির মেয়াদ শেষ করা সম্ভব? আমি যদি কোনও তালিকার ধরণের কাঠামোর সাথে মান যুক্ত করতে চাই এবং সন্নিবেশের 1 ঘন্টা পরে সেগুলি স্বয়ংক্রিয়ভাবে সরিয়ে ফেলাতে চাই তবে কী হবে। এটি কি বর্তমানে সম্ভব, বা নিজে খাঁটি শুকানোর জন্য ক্রোন জব চালানো দরকার?

উত্তর:


76

বর্তমানে কেবলমাত্র একটি সম্পূর্ণ কী / মান জুটির মেয়াদ শেষ করা সম্ভব?

আমি যতদূর জানি, এবং মেয়াদোত্তীর্ণ সম্পর্কে মূল কমান্ড এবং নথি অনুসারে , আপনি বর্তমানে মেয়াদোত্তীর্ণতা কেবল নির্দিষ্ট কীতে সেট করতে পারেন এটির অন্তর্নিহিত ডেটা কাঠামোতে নয়। তবে রূপান্তরিত বিকল্প সমাধানগুলির সাথে এই কার্যকারিতা সম্পর্কে গুগল গ্রুপগুলিতে আলোচনা রয়েছে


1
জুলাই ২০১ 2016 সালের কোনও ধারণা তারা কি নতুন সংস্করণে এটি সমর্থন করেছে?
কামরান শহীদ

1
@ কামরানশাহিদ এতে কিছু পেয়েছেন ??
প্রকাশ কুমার

1
নাপ প্রকাশ এখনও নেই।
কামরান শহীদ

3
এই উত্তরটি কি 8 বছর পরেও প্রাসঙ্গিক?
সিমো

2
হ্যাঁ, নেস্টেড ডেটা স্ট্রাকচারগুলিতে উপাদানটির মেয়াদোত্তীর্ণকরণ রেডিস সমর্থন করে না।
ইত্তামার হাবের

94

একটি সাধারণ প্যাটার্ন রয়েছে যা এই সমস্যাটি বেশ ভালভাবে সমাধান করে।

বাছাই করা সেটগুলি ব্যবহার করুন এবং স্কোর হিসাবে একটি টাইমস্ট্যাম্প ব্যবহার করুন। স্কোর পরিসীমা দ্বারা আইটেমগুলি মুছে ফেলা তুচ্ছ, যা পর্যায়ক্রমে বা কেবল প্রতিটি লেখায় করা যেতে পারে, যা কেবলমাত্র স্কোরের একটি ব্যাপ্তি পড়ার মাধ্যমে সর্বদা পরিসীমা উপাদানগুলির বাইরে থাকা উপেক্ষা করে।

আরও এখানে: https://groups.google.com/forum/#!topic/redis-db/rXXMCLNkNS


7
দুর্দান্ত সমাধান, তবে আমি চাই যে এটিকে আবার সঠিকভাবে সমর্থন করা উচিত। এটি একটি সাধারণ প্রয়োজন এবং জটিল workaround প্রয়োজন হবে না।
আপক্রিক

14
আমি জানি, আমি সত্যই খুশি যে তারা তাদের বন্দুকের সাথে লেগে আছে - বৈশিষ্ট্যগুলি যেভাবে তারা চায় না বা পরিকল্পনা করে না সেগুলি সেট করে বাড়ানো মানে ডিজাইনের ত্যাগ উত্সর্গ করা means নিখুঁত সমাধানের মতো শীর্ষ শব্দগুলিতে অতিরিক্ত কার্যকারিতা তৈরি করা এবং রেডিসকে যা করতে হবে তা দুর্দান্তভাবে ছাড়বে
কাইরেন জনস্টোন

redis ঠিক যেমনটি নিখুঁত - সাধারণ, পরিষ্কার ডিজাইন এবং অনুমানযোগ্য আচরণ যা ফলাফলের চেয়ে ভাল ফলাফলের চেয়ে বেশি ফলাফল দেয়
let4be

1
বিস্ময়কর সমাধান, আমরা একটি সাধারণ ফিফো তালিকা ব্যবহার করতে সক্ষম হয়েছি যেখানে আমরা একটি তালিকা রেখেছিলাম এবং কেবল প্রথম 5 টি উপাদান নিয়েছিলাম এবং যখন তালিকাটি স্কেলাবিলিটির উপর নির্ভর করে 5 + এন এর চেয়ে বড় হয়, আমরা কীটি মুছে ফেলি এবং আবার শুরু করি। সহজ, সহজ এবং ঠিক কীভাবে রেডিস অ্যালগরিদম হওয়া উচিত। এই অ্যালগরিদম তালিকাটি জিজ্ঞাসা করতে এবং ব্যবহারকারীরা কী কী ডিভাইসে লগইন করে তা দেখতে আমাদের প্রতিবেদনের সিস্টেমকে প্রচুর সময় দেয়। @ কেরেন জোনস্টোন এর সাথে সম্মত হন, রেডিস চারপাশে আর্কিটেকচার তৈরির জন্য ডিজাইন করা হয়েছে এবং এটি ঠিক কীভাবে সঠিক।
লাইগামার

1

আমি এটি পরিচালনা করার একটি পৃথক পদ্ধতি নিয়ে এসেছি, এটি আপনার কারও পক্ষে সহায়ক কিনা তা জানেন না, তবে এখানে যান:

হ্যাশ এবং সাজানো সেট কোনও গাইডের মাধ্যমে সংযুক্ত।

  1. আমার একটি হ্যাশ রয়েছে যা 'x' সেকেন্ডে শেষ হতে চলেছে
  2. আমার একটি সাজানো সেট রয়েছে যা রেঞ্জযুক্ত প্রশ্নের জন্য ব্যবহৃত হয়
  3. উভয়ের জন্য ডেটা একটি লেনদেনে যুক্ত করা হয়, সুতরাং যদি কোনও ব্যর্থ হয় তবে তারা উভয়ই ব্যর্থ হয়।
  4. একটি রেঞ্জযুক্ত ক্যোয়ারিতে, ফলাফলগুলি পুনরাবৃত্তি হওয়ার সাথে সাথে হ্যাশ মানটি বিদ্যমান কিনা তা দেখতে 'EXISTS' ব্যবহার করুন
  5. যদি এটি বিদ্যমান না থাকে তবে এটির মেয়াদ শেষ হয়ে গেছে, সুতরাং সাজানো সেট থেকে আইটেমটি মুছুন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.