আমি জ্যাঙ্গোর সাথে রেডিস কীভাবে ব্যবহার করতে পারি?


95

আমি রেডিস-ক্যাশে শুনেছি কিন্তু এটি ঠিক কীভাবে কাজ করে? এটি কীভাবে কোনওভাবে rdbms ক্যোয়ারী ক্যাচ করে জ্যাঞ্জো এবং আমার আরডিবিএম এর মধ্যে স্তর হিসাবে ব্যবহৃত হয়?

নাকি এটি সরাসরি ডাটাবেস হিসাবে ব্যবহার করার কথা? যা আমি সন্দেহ করি, যেহেতু সেই গিথুব পৃষ্ঠায় কোনও লগইন বিশদ, কোনও সেটআপ নেই cover

উত্তর:


73

রেডিসের এই পাইথন মডিউলটির রিডমেতে একটি পরিষ্কার ব্যবহারের উদাহরণ রয়েছে: http://github.com/andymccurdy/redis-py

রেডিস একটি র‌্যাম ক্যাশে হিসাবে ডিজাইন করা হয়েছে। এটি মৌলিক জিইটি এবং এসইটি কীগুলি এবং অভিধানের মতো সংগ্রহগুলি সঞ্চয় করার জন্য সমর্থন করে। আপনি আরডিবিএমএস ক্যোয়ারীগুলি রেডিসে আউটপুট সংরক্ষণ করে ক্যাশে করতে পারেন। লক্ষ্যটি হবে আপনার জ্যাঙ্গো সাইটের গতি বাড়ানো। আপনার গতির প্রয়োজন না হওয়া পর্যন্ত রেডিস বা অন্য কোনও ক্যাশে ব্যবহার শুরু করবেন না - অকালপূর্বক অনুকূলিত হন না।


তবে আপনি কীভাবে পরীক্ষা করতে পারেন যে রেডিসের ক্যাশে আপডেট হওয়ার দরকার আছে? আপনি কি রেকর্ড গণনা তুলনা করেন বা আরও ভাল উপায় আছে?
মার্কোনি

7
এটি সাধারণত কীটির জন্য একটি টিটিএল সেট করে করা হয়: redis.io/commands/ttl । যদি কীটির মেয়াদ শেষ হয় তবে আপনাকে অবশ্যই ডিবিতে যেতে হবে। সুতরাং যদি কীটি পুনরায় হয় তবে আপনি এটি ব্যবহার করুন। মনে রাখবেন যে এর সহজ প্রয়োগের ফলে কিছু সমস্যা দেখা দেয়: যখন একটি জনপ্রিয় কী আপনার এন.ইউইকিপিডিয়া.org / উইকি / থান্ডারিং_হের্ড_প্রব্লেম সমাপ্ত করে , আপনি en.wikedia.org/wiki/Negative_cache ব্যবহার করতে চান এবং আপনার ডিবিতে এন.কিপিডিয়া প্রয়োজন needs org / wiki / Admission_control
স্পাইক গ্রোনিম

4
উম্ম, ভাল, ক) রেডিসটি র‌্যাম ক্যাশের চেয়ে বেশি হিসাবে ডিজাইন করা হয়েছে - এটি ধ্রুবক (তবে ক্যাশের বৈশিষ্ট্যগুলি অন্তর্ভুক্ত করে), খ) এটি সাধারণ কী-মান স্টোরেজের চেয়ে বেশি - বিল্ট-ইন ম্যানিপুলেশনের সাথে তালিকা, হ্যাশসেট ইত্যাদি রয়েছে etc.
ওলি

8
সত্যই মডেল / প্রতিক্রিয়াযুক্ত বিষয়গুলি ক্যাচিং অকালীন অপ্টিমাইজেশনের অধীনে আসে না। আপনার যদি এটি করার জন্য চার্জ না দেওয়া হয় (হিরকু এর মতো) এটি এমনকি ছোট অ্যাপ্লিকেশানের জন্যও ক্যাশে ক্ষতি করে না।
ভিকি 21

4
এটি গতি সম্পর্কে নয়, এটি সম্পদ সম্পর্কে। ক্যাশে একটি টেবিল কম ব্যয়বহুল হবে।
dman

60

কেবল রেডিস জিনিসগুলিতে মেমরি সঞ্চয় করে তার অর্থ এই নয় যে এটি ক্যাশে বোঝানো হয়েছে। আমি এটি লোকেরা ডেটার জন্য অবিরাম স্টোর হিসাবে ব্যবহার করতে দেখেছি।

এটি ক্যাশে হিসাবে ব্যবহার করা যেতে পারে এমন একটি ইঙ্গিত যা এটি উচ্চ-পারফরম্যান্স স্টোরেজ হিসাবে কার্যকর। যদি আপনার রেডিস সিস্টেমটি নীচে চলে যায় তবে আপনি সম্ভবত সেই ডেটা আলগা করে ফেলতে পারেন যা আবার ডিস্কে লেখা হয়নি। এই জাতীয় বিপদগুলি প্রশমিত করার কয়েকটি উপায় রয়েছে, উদাহরণস্বরূপ হট স্ট্যান্ডবাইয়ের প্রতিরূপ। যদি আপনার ডেটা 'মিশন-সমালোচনামূলক' হয়, যেমন আপনি কোনও ব্যাংক বা দোকান পরিচালনা করেন তবে রেডিস আপনার জন্য সেরা পছন্দ নাও হতে পারে। তবে আপনি যদি অবিচলিত লাইভ ডেটা বা কিছু সামাজিক-মিথস্ক্রিয়া স্টাফ সহ একটি উচ্চ ট্র্যাফিক গেমটি লেখেন এবং ডেটা-লোকসানের সম্ভাবনাটি যথেষ্ট গ্রহণযোগ্য হওয়ার জন্য পরিচালনা করেন, তবে রেডিস এক নজর দেওয়ার মতো হতে পারে।

যাইহোক, পয়েন্টটি রয়ে গেছে, হ্যাঁ, রেডিস একটি ডেটাবেস হিসাবে ব্যবহার করা যেতে পারে।


4
আমার সংস্থার জন্য, আমরা সংক্ষিপ্তকরণ এবং ক্যাসান্দ্রা এবং পোস্টগ্র্রেস থেকে উত্পন্ন পণ্যগুলি সঞ্চয় করতে রেডিস ব্যবহার করি। এই পণ্যগুলির পরিমাণ (কয়েক বিলিয়ন), কত ঘন ঘন সেগুলি পরিবর্তন করা দরকার এবং যে কোনও মুহুর্তে কী প্রয়োজন তা আমরা কখনই রেডিসের জন্য উপযুক্ত উপযুক্ত করে তুলতে পারি না। এছাড়াও, একবার আপনি এসকিউএল ডিবিতে যে কোনও কিছুর মিলিয়ন সারি ছাড়িয়ে গেলে, সদস্যপদ পরীক্ষার জন্য রেডিস একটি দুর্দান্ত প্রশংসাপূর্ণ উত্স হতে পারে (যেমন এই ডোমেনে এই সত্তাগুলি রয়েছে?)
ডেভিড

বেশ কয়েক মাস আগে আমার উত্তর যে একই পয়েন্টটি করেছিল ঠিক তা আপনারাই কেন লাফিয়েছিলেন তা ভাবতে সাহায্য করতে পারে না ... ওহ ভাল।
অস্ট্রগার্ড

22

রেডিস মূলত একটি 'মেমরি ইন' কেভি স্টোর যা প্রচুর পরিমাণে ঘণ্টা এবং সিঁড়ি ফেলে। এটি অত্যন্ত নমনীয়। আপনি এটিকে একটি অস্থায়ী স্টোর, ক্যাশে বা স্থায়ী স্টোর, ডাটাবেসের মতো (অন্যান্য উত্তরে বর্ণিত ক্যাভ্যাট সহ) হিসাবে ব্যবহার করতে পারেন।

জ্যাঙ্গোর সাথে মিলিত হলে রেডিসের পক্ষে সবচেয়ে ভাল / সবচেয়ে সাধারণ ব্যবহারের ক্ষেত্রে সম্ভবত 'প্রতিক্রিয়াগুলি' এবং সেশনগুলি ক্যাশে করা হয়।

এখানে একটি ব্যাকএন্ড রয়েছে https://github.com/sebleier/django-redis-cache/ এবং জাজানো ডক্সে দুর্দান্ত ডকুমেন্টেশন এখানে: https://docs.djangoproject.com/en/1.3/topics/cache/

আমি সম্প্রতি আমার ক্যাশে নিরীক্ষণের জন্য https://github.com/erussell/django-redis-status ব্যবহার শুরু করেছি - একটি মোহন কাজ করে। (রেডিসে ম্যাক্সেমোমরি কনফিগার করুন বা ফলাফলগুলি তেমন দরকারী নয়)।


5

আপনি নিজের জ্যাঙ্গো অ্যাপ্লিকেশনে বিতরণ করা কাজের জন্য রেডিসকে একটি সারি হিসাবে ব্যবহার করতে পারেন। আপনি এটিকে সেলারি বা পাইথন আরকিউর জন্য বার্তা ব্রোকার হিসাবে ব্যবহার করতে পারেন ।


2

প্রাথমিক ডাটাবেস হিসাবে পুনরায়

হ্যাঁ আপনি প্রাথমিক ডাটাবেস হিসাবে রেডিস কী-মান স্টোরটি ব্যবহার করতে পারেন। Redis কেবল কী-মান জোড়াগুলি সংরক্ষণ করে না এটি বিভিন্ন ডেটা স্ট্রাকচারের মতো সমর্থন করে

  1. তালিকা
  2. সেট
  3. সাজানো সেট
  4. হ্যাশ
  5. বিটম্যাপস
  6. হাইপারলগ

Redis ডেটা টাইপ অফিসিয়াল ডক

রেডিস মেমোরি কী-মান স্টোরে রয়েছে তাই রেডিস সার্ভারের ব্যর্থতায় যদি আপনার ডেটা নষ্ট হয়ে যায় তবে আপনাকে অবশ্যই এটি সম্পর্কে সচেতন হতে হবে।

রেডিস ডেটা চেক অফিশিয়াল ডক ধরে রাখতে পারে।

আনুষঙ্গিকতা অফিসিয়াল ডক


ক্যাশে হিসাবে পুনরায়

হ্যাঁ রেডিস জ্যাঙ্গো এবং আরডিবিএমএসের মধ্যে থাকেন।

কিভাবে এটা কাজ করে

given a URL, try finding that page in the cache if the page is in the cache: return the cached page else: generate the page save the generated page in the cache (for next time) return the generated page

জ্যাঙ্গোর ক্যাশে ফ্রেমওয়ার্ক অফিসিয়াল ডক


কিভাবে জাঙ্গোর সাথে রেডিস ব্যবহার করতে পারে

জাজানো অ্যাপ্লিকেশনটির জন্য আমরা রেডিস পাইথন ক্লায়েন্ট রেডিস- পাই ব্যবহার করতে পারি ।

রেডিস পাইথন ক্লায়েন্ট রেডিস-পি গিথুব

আমরা জ্যাঙ্গো-রেডিস জাঙ্গো ক্যাশে ব্যাকএন্ডের জন্য ব্যবহার করতে পারি ।

জ্যাঙ্গো-রেডিস রেডিস-পাইয়ের উপর ভিত্তি করে যোগ অতিরিক্ত জ্যাঙ্গো আবেদন এর সাথে সম্পর্কিত বৈশিষ্ট্য।

জ্যাঙ্গো-রেডিস ডক গিথুব

অন্যান্য গ্রন্থাগারও রয়েছে।


পুনরায় কেস এবং ডেটা ব্যবহার করে

কিছু ব্যবহার ক্ষেত্রে

  • সেশন ক্যাশে
  • রিয়েল টাইম অ্যানালিটিক্স
  • ওয়েব ক্যাচিং
  • লিডারবোর্ডগুলি

শীর্ষ তথ্যগুলি কাঠামোর কাঠামোর ধরণের ক্ষেত্রে কেসগুলি ব্যবহার করে


রেডিস ব্যবহার করে বিগ টেক সংস্থা

 Twitter GitHub Weibo Pinterest Snapchat Craigslist Digg StackOverflow Flickr 

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.