उपयोगकर्ता पसंद को ट्रैक करने के लिए MYSQL का उपयोग कैसे करें

डिग जैसी वेबसाइटों के लिए। किसी को लेख पसंद करते समय ट्रैक करने के लिए आप MYSQL का उपयोग कैसे कर सकते हैं?

यह पसंद की कुल संख्या का ट्रैक रखने के लिए पर्याप्त सरल लगता है। जिस हिस्से को मैं समझ नहीं पा रहा हूं, वह कैसे है 1. उपयोगकर्ताओं को केवल एक बार कुछ वोट देने से रोकें 2. उपयोगकर्ताओं को उनकी पसंद की कहानियों को देखने के लिए उनकी प्रोफ़ाइल पर क्लिक करने की अनुमति दें।

क्या आपके पास टेबल में एक कॉलम होगा जिसमें कहानी जानकारी है जिसमें आप अल्पविराम से अलग उपयोगकर्ता नाम जोड़ सकते हैं? आप ट्रैक कर सकते हैं कि किसने कहानी पसंद की है, लेकिन डेटा बहुत बड़ा होगा, खासकर डिग जैसे वेबसाइटों के लिए जिसमें 100,000 उपयोगकर्ता या अधिक हैं। और आप उपयोगकर्ता को उन सभी कहानियों को देखने की अनुमति कैसे देंगे जिन्हें उन्होंने पसंद किया है?

धन्यवाद।

0
जोड़ा
विचारों: 1

3 उत्तर

आपको प्रत्येक के लिए एक पंक्ति की आवश्यकता होगी। अल्पविराम से अलग सूचियों का उपयोग न करें।


कैसे करें 1. उपयोगकर्ताओं को केवल एक बार कुछ मतदान करने से रोकें

Articleid, userid पर एक अद्वितीय अनुक्रमणिका बनाएँ।


और आप उपयोगकर्ता को उन सभी कहानियों को देखने की अनुमति कैसे देंगे जिन्हें उन्होंने पसंद किया है?

SELECT articleid FROM likes WHERE userid = 42

लेकिन डेटा बड़ा हो जाएगा

हाँ, यह बहुत बड़ा हो सकता है। अधिकतर वेबसाइटें आसानी से केवल एक डेटाबेस से निपटने में सक्षम होंगी। कई मशीनों पर डेटा स्टोर करने के लिए बहुत बड़ी वेबसाइटों को क्लस्टर का उपयोग करने की आवश्यकता होगी। डेटा को विभाजित करने की आवश्यकता है ताकि एप्लिकेशन जानता हो कि किस सर्वर को डेटा ढूंढना है।

1
जोड़ा

सोशल नेटवर्क में इन दिनों ग्राफ डेटा संरचना की तरह हैं। जहां लोग, फोटो, वीडियो, स्टेटस अपडेट, टिप्पणियां इत्यादि जैसी प्रत्येक इकाई ग्राफ और पसंद के नोड्स हैं, अनलिका दो नोड्स के बीच कनेक्शन हैं।

आदर्श रूप में आपके पास पसंद के लिए एक टेबल होगा जहां आप बस एक जैसे जोड़ देंगे। जहां आप स्टोर करेंगे, कॉलम और अन्य जानकारी में क्या पसंद है।

जटिल सामाजिक नेटवर्क सिर्फ इस से अधिक करते हैं।

0
जोड़ा

आप पसंद को एक अलग तालिका में स्टोर कर सकते हैं जिसे story_likes नामक दो स्तंभों के साथ: story_id और user_id।

1) डेटाबेस में एक बाधा डालें कि इनके संयोजन का अद्वितीय होना चाहिए। इस तरह आपका उपयोगकर्ता केवल एक बार कहानी पसंद कर सकता है।
2) आप उन कहानियों को खींच सकते हैं जिन्हें उपयोगकर्ता इस तालिका से पसंद करते हैं और आपके पास कहानी आईडी का उपयोग करके अन्य कहानी विवरण खींचते हैं। एक MYSQL डेटाबेस के लिए 100,000 पंक्तियां बड़ी नहीं हैं।

आप अपने उपयोगकर्ताओं को राज्य = ENUM ('पसंद', 'डिस्क्लेक्ड') के लिए कॉलम करके कहानी को नापसंद करने की अनुमति भी दे सकते हैं।

0
जोड़ा