आरंभ करना: Node.js के लिए सेटअप डेटाबेस


82

मैं नोड.जेएस के लिए नया हूं लेकिन इसे आजमाने के लिए उत्साहित हूं। मैं एक्सप्रेस को वेब फ्रेमवर्क के रूप में उपयोग कर रहा हूं , और जेड को टेम्पलेट इंजन के रूप में। दोनों को नोड शिविर से इस ट्यूटोरियल के बाद सेटअप प्राप्त करना आसान था ।

हालाँकि मुझे जो एक समस्या मिल रही है वह यह है कि मुझे DB सेट अप करने के लिए एक सरल ट्यूटोरियल नहीं मिल रहा है । मैं एक बुनियादी चैट एप्लिकेशन (स्टोर सत्र और संदेश) बनाने की कोशिश कर रहा हूं।

क्या किसी को एक अच्छे ट्यूटोरियल के बारे में पता है?

यह अन्य SO पोस्ट उपयोग करने के लिए dbs के बारे में बात करता है- लेकिन जैसा कि यह Django / MySQL दुनिया से बहुत अलग है, मैं यह सुनिश्चित करना चाहता हूं कि मुझे समझ में आ जाए कि क्या चल रहा है।

धन्यवाद!


मैं ऐसा कहने के लिए नफरत करता हूं, लेकिन मुझे लगता है कि एक रूपरेखा एक प्रोग्रामिंग भाषा का एक गरीब शिक्षक है।
7

जवाबों:


89

मुझे लगता है कि आपने इन स्निपेट्स में से एक का उपयोग करके एनपीएम को सही तरीके से स्थापित किया है (मैंने शीर्ष एक का उपयोग किया है)।

Redis

मैं एक डेटाबेस के रूप में रेडिस का उपयोग करूंगा। एक के लिए यह वास्तव में तेज है , लगातार है। आपको इसे स्थापित करने की आवश्यकता है, लेकिन यह वास्तव में आसान है।

make

Redis-CLI

आगे आपको खुद को लाल रंग से खेलना चाहिए। मैं आपको साइमन विलिसन द्वारा इस उत्कृष्ट ट्यूटोरियल को देखने के लिए सलाह दूंगा । वह और मैं आपको सलाह भी देते हैं redis-cliकि डेटाबेस की भावना प्राप्त करने के लिए बस उसके साथ खेलें ।

रेडिस क्लाइंट

अंत में आपको रेडिस क्लाइंट स्थापित करना होगा। मैं आपको मिर्नी के नोड_्रेडिस का उपयोग करने की सलाह दूंगा क्योंकि मुझे लगता है कि यह सबसे तेज और सबसे सक्रिय रूप से विकसित ग्राहक है।

इंस्टालेशन

npm install hiredis redis

सरल उदाहरण, example.js के रूप में शामिल:

var redis = require("redis"),
    client = redis.createClient();

client.on("error", function (err) {
    console.log("Error " + err);
});

client.set("string key", "string val", redis.print);
client.hset("hash key", "hashtest 1", "some value", redis.print);
client.hset(["hash key", "hashtest 2", "some other value"], redis.print);
client.hkeys("hash key", function (err, replies) {
    console.log(replies.length + " replies:");
    replies.forEach(function (reply, i) {
        console.log("    " + i + ": " + reply);
    });
    client.quit();
});

डेटाबेस में सत्र संग्रहीत करना

इसके अलावा एक्सप्रेस के लेखक ने रेडिस का उपयोग करके आपके सत्रों को संभालने के लिए एक पुस्तकालय बनाया है ।

स्थापना:

npm install connect-redis

उदाहरण:

var connect = require('connect')
      , RedisStore = require('connect-redis');

connect.createServer(
  connect.cookieDecoder(),
  // 5 minutes
  connect.session({ store: new RedisStore({ maxAge: 300000 }) })
);

डेटाबेस में संदेश संग्रहीत करना

मुझे लगता है कि मैं इसके लिए एक हल सेट का उपयोग करूंगा । का उपयोग कर संदेशों को संग्रहीत ZADDऔर उपयोग कर उन्हें पुनः प्राप्त ZRANK, ZRANGEBYSCORE

Socket.io

अंत में यदि आप एक साधारण चैट बनाने की कोशिश कर रहे हैं तो मैं आपको सॉकेट.आईओ पर एक नज़र डालने की सलाह दूंगा।

socket.io का लक्ष्य हर ब्राउज़र और मोबाइल डिवाइस में रियलटाइम ऐप्स को संभव बनाना है, जो विभिन्न परिवहन तंत्रों के बीच अंतरों को धुंधला करता है।

मैं भी एक चैट socket.io जो मैं पर पोस्ट का उपयोग कर बनाई stackoverflow । दृढ़ता जोड़ना + प्रमाणीकरण एक हवा होना चाहिए।


4

कॉफ़िशस्क्रिप्ट का उपयोग करके डेटाबेस के लिए सत्र संग्रह और काउचडब के लिए रेडिस का उपयोग करके एक्सप्रेस प्रमाणीकरण।

इस gist की जाँच करें: https://gist.github.com/652819

मैं अपनी अधिकांश परियोजनाओं के लिए इस टेम्पलेट का उपयोग करता हूं। आप इसका एक समान मोंगोडब संस्करण भी उपयोग कर सकते हैं:

नोड-मोंगोडब-मूल निवासी क्रिस्चव: https://github.com/christkv/node-mongodb-native , या

mongoose: https://github.com/learnboost/mongoose , या

amark's mongous: https://github.com/amark/mongous


3

NodeCamp ट्यूटोरियल के अलावा आप उल्लेख करते हैं कि एक और NodeCamp ट्यूटोरियल है, जो मैट रेनी द्वारा रेडिस नोड लाइब्रेरी के पूर्वोक्त लेखक द्वारा दिया गया है। यह एक मूत सा गहराई में चला जाता है।


2

मुझे पता है कि यह एक पुरानी पोस्ट है, लेकिन अगर कोई और इस पर ठोकर खाता है, तो मैंने ओपी के अधिकांश घटकों, विशेष रूप से डेटाबेस से कनेक्शन का उपयोग करके एक ट्यूटोरियल बनाया। यह Backbone.js के उपयोग के साथ कुछ जोड़ा जटिलता है, लेकिन यह सब अच्छा मज़ा में है!

http://fzysqr.com/2011/02/28/nodechat-js-using-node-js-backbone-js-socket-io-and-redis-to-make-a-real-time-chat-app/

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.