কম্পিউটার টিউটোরিয়াল

রেডিস ৭.০ RC1 এখন লাইভ: উন্নত বৈশিষ্ট্য ও পারফরম্যান্স লাভ

নতুন সংস্করণটি রেডিসের কিছু বৈশিষ্ট্যের বিবর্তনমূলক ধাপ, নতুন বৈশিষ্ট্য যোগ করে, এবং আরও ভাল রিসোর্স ইউটিলাইজেশনে অধিক রায় পাওয়ার অফার দেয়।

আজ, আমরা গর্বের সাথে রেডিস v7-এর প্রথম রিলিজ ক্যান্ডিডেট (RC1)র উপলব্ধতা ঘোষণা করছি। ভার্সন ৭.০ প্রজেক্টের জন্য একটি গুরুত্বপূর্ণ মাইলстоন যা গত বছরের বড় অংশের জন্য ডেভেলপমেন্টের অধীনে ছিল। এই মেজর রিলিজ কার্যকারিতা এবং ইন্টারন্যালসের ক্ষেত্রে более র্যাডিক্যাল পরিবর্তন আনয়নের সুযোগ দেয়। আমরা আমাদের সাধারণ রিলিজ সাইকেল অনুসরণ করতে আশা করি, তাই সাধারণ উপলব্ধতা আগে প্রায় তিন সপ্তাহ ব্যবধানে দুটি আরও ক্যান্ডিডেট план করা হয়েছে।

রেডিস ৭.০ অনেক নতুন বৈশিষ্ট্য যোগ করে, যেমন ফাংশনস, ACL v2, শার্ডেড Pub/Sub, এবং আরও অনেক কিছু। আমরা এই এবং পরবর্তী পোস্ট সিরিজে এগুলো কভার করব। 덧붙ায়ে, এই সংস্করণে করা কাজের একটি বড় অংশ রেডিসের那些部分গুলিকে উন্নত এবং অপ্টিমাইজ করার ওপর ফোকাস করা যেগুলো অধিকাংশ ইউজারদের কম দৃশ্যমান। এই প্রচেষ্টা প্রায় প্রতিটি রেডিস সাবসিস্টেমে বিস্তারিত, পোর্সিস্টেন্স, রেপ্লিকেশন, নেটওয়ার্ক, মেমরি, এবং কম্পিউট ব্যবহারকে স্পর্শ করে। ফলাফল হলো কখনো कभीও চেয়ে দ্রুত, আরও স্থিতিশীল, এবং আরও অর্থনীতিক রেডিস।

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

রেডিস ফাংশনস উপরের উদাহরণ। ফাংশনস রেডিস প্রোগ্রামেবিলিটির وسیয়ার বিষয়ের অন্তর্গত। "রেডিস প্রোগ্রাম করা" মানে সার্ভারের ইউজার লজিক এক্সিকিউট করানো, মূলত ডাটা লোকালিটির জন্য। প্রোগ্রামেবিলিটি রেডিসের অংশ ছিল সংস্করণ ২.৬-এ Lua স্ক্রিপ্টের wprowadución থেকে (আরও বিবরণের জন্য Introduction to Eval Scripts দেখুন)।

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

কারণ স্ক্রিপ্টিং একটি জনপ্রিয় রেডিস বৈশিষ্ট্য যা দীর্ঘদিন ধরে আছে, আমরা এর সম্পর্কে অনেক ফিডব্যাক সংগ্রহ করেছি। আমরা দেখেছি অধিকাংশ প্রয়োজনীয়তা তিনটি বালতিতে পড়ে:

  1. স্বাধীনতা: স্ক্রিপ্টস অ্যাপ্লিকেশনের একটি অংশ। এগুলো এর অন্তর্বস্তুকে প্রতিফলিত করে, তাই সেগুলো বাস্তবায়নের সাথে টাইটলি কাপল্ড। অ্যাপ্লিকেশনটিকে স্ক্রিপ্টের সোর্স কোড এমবেড করতে হবে এবং রানটাইমে সেগুলো লোড করতে হবে। এই জটিলতা অ্যাপ্লিকেশনের লাইফসাইকেলের প্রতিটি স্টেজে জটিলতা বাড়ায়, ডেভেলপমেন্ট থেকে টেস্টিং, ডিপ্লয়মেন্ট পর্যন্ত।
  2. এক্সিকিউশন ইঞ্জিন: রেডিসে স্ক্রিপ্ট লিখার জন্য শুধু একটি ভাষা আছে: Lua। আরও হয়ে,無數 টেকনিক্যাল কারণ בגלל, রেডিস সব এই সময় Lua ৫.১ ব্যবহার করছে। অনেকেই nieuwere সংস্করণ চান। অধিকাংশ ভিন্ন ভাষা চান।
  3. বিশ্বস্ততা: রেডিসে Lua স্ক্রিপ্টিং এর ডিজাইন এবং বাস্তবায়ন, যেকোনো অন্য সফটওয়্যারের মতো, অনুমান করে এবং সীমাবদ্ধতা রয়েছে। কিছু ক্ষেত্রে, এটি মেকানিজমকে প্রসারিত করা অত্যন্ত জটিল করে দেয়, যদি অসম্ভব না হয়। ফাউন্ডেশন ব্লক negaraয় আমরা সম্ভাব্য মূল্যবান বৈশিষ্ট্য যোগ করতে পারি না (যেমন ইভেন্ট প্রসেসিং এবং ক্লাস্টার স্ক্রিপ্টস)।

এটি আমাকে রেডিস ফাংশনস সন্নিকটে আনে। রেডিস ৭.০-এ, ফাংশনস অ্যাপ্লিকেশন থেকে সম্পূর্ণরূপে স্বাধীন। ফলে, ফাংশনস এক্সিকিউটেবল সফটওয়্যার আর্টিফ্যাক্ট যা ডাটাবেসের ফার্স্ট-ক্লাস সিটিজেন। রেডিস সার্ভার ফাংশনসকে ঠিক ইউজার ডাটার মতো ম্যানেজ করে, তাই সেগুলো উপলব্ধতার জন্য পেস্টেড এবং রেপ্লিকেটেড হয়। রানটাইমে ডাটাবেসে ফাংশন লোড করা আর অ্যাপ্লিকেশনের দায়িত্ব নয় এবং এটি একটি অ্যাডমিনিস্ট্রেটিভ মেইনটেনেন্স টাস্ক হয়ে ওঠে যাকে শিডিউল এবং ম্যানেজ করা যায়।

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

রেডিস ফাংশনসের ডিজাইন ইঞ্জিন-অগনস্টিক। যদিও রেডিস ৭.০ শুধু Lua ৫.১-এ লেখা ফাংশন সাপোর্ট করে, ইন্টারন্যাল বাস্তবায়ন почти অন্যান্য এক্সিকিউশন ইঞ্জিনের সাথে হুক করার জন্য প্রস্তুত। আমরা ভবিষ্যতে আরও টাইপের এক্সিকিউশন ইঞ্জিনের সাপোর্ট যোগ করার পরিকল্পনা করছি।

ফাংশনস যে আরেকটি প্যারাডাইম শিফ্ট আনে সেটা লাইব্রেরির ব্যবহার। লাইব্রেরি এক বা একাধিক রেজিস্টার্ড ফাংশন এবং যেকোনো অতিরিক্ত ইন্টারনাল ফাংশন নিয়ে গঠিত হতে পারে। রেজিস্টার্ড ফাংশনস লাইব্রেরির এন্ট্রি পয়েন্ট এবং অ্যাপ্লিকেশনের কন্ট্র্যাক্টুয়াল API। অন্যদিকে, ইন্টারনাল ফাংশনস লাইব্রেরির ভিতরে নেটিভভাবে কল করা যেতে পারে কোড রিযজেবিলিটির জন্য।

আমরা আশা করি রেডিস ৭.০-এ ফাংশনসের পরিচয় রেডিসের প্রোগ্রামেবিলিটিকে পরবর্তী পর্যায়ে নিয়ে যাওয়ার একটি বড় ধাপ। যদি আপনি ইতিমধ্যে আপনার অ্যাপ্লিকেশনে Lua স্ক্রিপ্ট ব্যবহার করেন, ফাংশন ব্যবহার করার দিকে মাইগ্রেট করা ঐচ্ছিক এবং সহজ (আরও জানতে Redis Functions দেখুন)। কী আরও ভাল, আমরা এগিয়ে যাওয়ার সাথে সাথে, ফাংশনস রেডিস প্রোগ্রামেবিলিটির সাথে উন্নত এবং উদ্ভাবন করার জন্য একটি ভাল ফাউন্ডেশন অফার করে।

  1. Redis SETRANGE: স্ট্রিং ভ্যালুর অংশ আপডেট করার দক্ষ পদ্ধতি

  2. Start11 রিলিজ ক্যান্ডিডেট ১ এখন উপলব্ধ—উইন্ডোজ ১১-এর অনুপস্থিত ফিচারগুলো ফেরত আনুন

  3. উইন্ডোজ ১১ ২০২২ আপডেট (২২এইচ২) রিলিজ: মূল ফিচার এবং উন্নতি

  4. Windows 11: নতুন যুগের সূচনা – অফিশিয়াল লঞ্চ কনফার্মড