Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Redis

तेजी से गणना में रेडिस का प्रयोग करें

  • यह उदाहरण Fastly CLI के पुराने संस्करण का उपयोग करता है। अप-टू-डेट संस्करण के लिए इस लेख को देखें।

इस पोस्ट में हम एक साधारण एप्लीकेशन लिखेंगे जो Fastly Compute@Edge पर चलेगी। एप्लिकेशन पृष्ठ दृश्यों का ट्रैक रखने के लिए Upstash Redis को एक्सेस करेगा।

प्रेरणा

एज कंप्यूटिंग हाल के वर्षों में सबसे रोमांचक रुझानों में से एक है। क्लाउडफ्लेयर और फास्टली जैसी सीडीएन सेवाओं ने उपयोगकर्ताओं को अपने अनुप्रयोगों को अपने किनारे के बुनियादी ढांचे पर चलाने में सक्षम बनाने के लिए शुरू किया। यह डेवलपर्स को विश्व स्तर पर वितरित, उच्च प्रदर्शन एप्लिकेशन बनाने में मदद करता है।

Compute@Edge Fastly का सर्वर रहित प्लेटफॉर्म है। आप अपना कोड रस्ट, असेंबलीस्क्रिप्ट, जावास्क्रिप्ट में लिख सकते हैं और फास्टली के एज नेटवर्क में चला सकते हैं। तेजी से गणना कार्य स्टेटलेस हैं। इसका मतलब है कि डेवलपर्स को अपने आवेदन की स्थिति को बाहरी भंडारण में रखना चाहिए। लेकिन तेजी से कार्यों के लिए रनटाइम के रूप में WebAssembly का उपयोग करता है और यह टीसीपी कनेक्शन की अनुमति नहीं देता है। Upstash Redis REST API, वैश्विक प्रतिकृति और सर्वर रहित मूल्य निर्धारण के साथ तेजी से गणना कार्यों के लिए एक आदर्श समाधान है।

कोड और डेमो देखें

प्रोजेक्ट सेटअप

Upstash कंसोल में एक डेटाबेस बनाएं। किनारे के स्थानों से कम विलंबता के लिए वैश्विक डेटाबेस को प्राथमिकता दें।

तेजी से क्ली स्थापित करें:

brew install fastly/tap/fastly

अपने CLI को अपने Fastly खाते से कॉन्फ़िगर करें:

fastly configure

एक फोल्डर बनाएं और fastly compute init running चलाकर अपने प्रोजेक्ट को इनिट करें फ़ोल्डर के अंदर:

➜  using-fastly-compute git:(master) ✗ fastly compute init

Creating a new Compute@Edge project.

Press ^C at any time to quit.

Name: [using-fastly-compute]

Description:

Author: [enes@upstash.com]

Language:

[1] Rust
[2] AssemblyScript (beta)
[3] JavaScript (beta)
[4] Other ('bring your own' Wasm binary)

Choose option: [1] 3

Starter kit:
[1] Default starter for JavaScript
    A basic starter kit that demonstrates routing, simple synthetic responses and
    overriding caching rules.
    https://github.com/fastly/compute-starter-kit-javascript-default
Choose option or paste git URL: [1]

✓ Initializing...
✓ Fetching package template...
✓ Updating package manifest...
✓ Initializing package...

Initialized package using-fastly-compute to:

	/Users/enes/dev/examples/using-fastly-compute

To publish the package (build and deploy), run:
	fastly compute publish
To learn about deploying Compute@Edge projects using third-party orchestration tools, visit:
	https://developer.fastly.com/learning/integrations/orchestration/
SUCCESS: Initialized package using-fastly-compute

अपस्टैश-रेडिस और फ्लाइट-पथ स्थापित करें:

npm install @upstash/redis flight-path

इन प्लग इन को जोड़कर अपना webpack.config.js अपडेट करें:

plugins: [
    // Polyfills go here.
    // Used for, e.g., any cross-platform WHATWG,
    // or core nodejs modules needed for your application.
    new webpack.ProvidePlugin({
        URL: "core-js/web/url",
    }),
],

अपनी fast.toml फ़ाइल को अपडेट करें:

authors = ["enes@upstash.com"]
description = "Example of using Upstash with Fastly Compute@Edge"
language = "javascript"
manifest_version = 2
name = "fastly-upstash"
service_id = "PASTE_YOUR_SERVICE_ID"

[local_server.backends.upstash-db]
url = "https://eu1-liberal-cat-30162.upstash.io"

आपको एक Fastly Compute Service बनाने और अपनी Fastly Service Id को ऊपर चिपकाने की आवश्यकता है।

तेजी से गणना में रेडिस का प्रयोग करें

साथ ही आपको अपनी Fastly Compute Service में बैकएंड के रूप में Upstash REST URL को भी जोड़ना होगा। Fastly Compute के लिए बैकएंड के रूप में पंजीकृत होने के लिए किसी भी बाहरी नेटवर्क कनेक्शन की आवश्यकता होती है। सेवा स्क्रीन पर, Edit Configuration पर क्लिक करें> Clone version x to edit> Origins> Create a host

होस्ट जोड़ने के बाद, होस्ट के लिए नाम जोड़ने के लिए संपादित करने के लिए आइकन पर क्लिक करें। नाम को upstash-db के रूप में सेट करें जो backend . के बराबर होगा विकल्प जब हम upstash-redis क्लाइंट को कॉन्फ़िगर कर रहे हैं। https:// हटाएं यूआरएल से हिस्सा। अंत में Activate . पर क्लिक करें वर्तमान परिनियोजन के साथ कॉन्फ़िगरेशन को सक्रिय करने के लिए ऊपरी दाएं कोने पर बटन।

तेजी से गणना में रेडिस का प्रयोग करें

Local_server.backends.upstash-db आपके लिए स्थानीय रूप से अपना कार्य चलाने के लिए आवश्यक है। url को अपने Upstash डेटाबेस के REST url से बदलें।

कार्यान्वयन

src/index.js सर्वर रहित फ़ंक्शन का कार्यान्वयन है। नीचे दिए गए कोड को संपादित करें:

import { Router } from "flight-path";
import { Redis } from "@upstash/redis/fastly";

const router = new Router();

const redis = new Redis({
  url: "PASTE_YOUR_UPSTASH_REST_URL",
  token: "PASTE_YOUR_UPSTASH_TOKEN",
  backend: "upstash-db",
});

router.get("/", async (req, res) => {
  const count = await redis.incr("count");
  res.send(`Fastly with Upstash! Count: ${count}`);
});

router.listen();

आपको Upstash कंसोल से REST URL और टोकन को कॉपी और पेस्ट करना होगा

हम केवल upstash-redis क्लाइंट का उपयोग करके Upstash से जुड़ते हैं। हम एक काउंटर बढ़ाते हैं और प्रतिक्रिया वापस करते हैं।

ध्यान दें कि आप अन्य Redis क्लाइंट का उपयोग नहीं कर सकते क्योंकि वे TCP कनेक्शन का उपयोग करते हैं जो Fastly Compute द्वारा समर्थित नहीं है।

auth() with के साथ प्रमाणीकरण करते समय , आपको backend: upstash-db . जोड़ना होगा एक अतिरिक्त अनुरोध विकल्प के रूप में। यह आवश्यक है क्योंकि फास्ट कंप्यूट के लिए बैकएंड के रूप में पंजीकृत होने के लिए किसी बाहरी नेटवर्क कनेक्शन की आवश्यकता होती है।

स्थानीय रूप से चलाएं

आप इस फ़ंक्शन को स्थानीय रूप से चला सकते हैं:

fastly compute serve

बिल्ड और डिप्लॉय करें

इसके साथ अपना फ़ंक्शन बनाएं और परिनियोजित करें:

fastly compute publish

आपका आवेदन फास्टली द्वारा बनाया और तैनात किया जाएगा। कमांड यूआरएल को लॉग करेगा ताकि आप जांच सकें कि यह काम कर रहा है या नहीं:

https://horribly-organic-spider.edgecompute.app

समापन शब्द

इस लेख में हमने एक बहुत ही सरल एप्लिकेशन बनाया है जो Upstash का उपयोग करके Fastly Compute at Edge पर चलता है। हम आपकी प्रतिक्रिया से Upstash और हमारी सामग्री को बेहतर बनाना पसंद करते हैं। हमें Twitter या Discord पर अपने विचार बताएं।

https://developer.fastly.com/learning/compute/

https://developer.fastly.com/learning/compute/javascript/


  1. Redis.io को ताज़ा और विस्तारित करना

    आज हमें Redis.io के पुन:लॉन्च की घोषणा करते हुए खुशी हो रही है। Redis.io हमेशा से Redis का घर रहा है और नए Redis उपयोगकर्ताओं के लिए प्रवेश बिंदु रहा है। इस लॉन्च के साथ, हमने साइट के डिज़ाइन को आधुनिक बनाने और इसके बुनियादी ढांचे को अपडेट करते हुए कोर रेडिस दस्तावेज़ीकरण को संशोधित किया है। इस पो

  1. शीर्ष पांच रेडिस उपयोग के मामले

    मूल रूप से 7 नवंबर, 2017 को ObjectRocket.com/blog पर प्रकाशित हुआ। यह पोस्ट कुछ सबसे आम Redis™ उपयोग के मामलों और इन विकल्पों को प्रभावित करने वाली विभिन्न विशेषताओं के बारे में बताती है। 1. सत्र संचय रेडिस के लिए सबसे स्पष्ट उपयोग मामलों में से एक इसे सत्र कैश के रूप में उपयोग कर रहा है। मेमकैच

  1. शीर्ष 5 रेडिस उपयोग के मामले

    इस पोस्ट में, हम कुछ सबसे आम रेडिस उपयोग के मामलों और विभिन्न विशेषताओं के बारे में बताएंगे जो इन विकल्पों को प्रभावित कर रहे हैं। 1. सत्र संचय रेडिस के लिए सबसे स्पष्ट उपयोग मामलों में से एक इसे सत्र कैश के रूप में उपयोग कर रहा है। Memcached जैसे अन्य सत्र स्टोर पर Redis का उपयोग करने का लाभ यह ह