Django জ্যাঙ্গো
  • Python Basic
  • Python OOP
  • OOP Project
  • Jupyter Notebook
  • Python MOngodb
  • Numpy
  • Pandas
  • Framework কি?
  • জ্যাঙ্গো ওয়েব ফ্রেমওয়ার্ক
  • ভার্চুয়াল এনভায়র্নমেন্ট
    • ভার্চুয়াল এনভায়র্নমেন্ট তৈরী করি :
    • জ্যাংগো ইন্সটল
  • প্রথম প্রজেক্ট শুরু
    • সেটিংস পরিচিতি
    • Template
      • load css,js
        • template load
    • create project
  • অ্যাপস কি?
    • প্রথম অ্যাপস তৈরি
  • apps কে প্রজেক্টের সাথে যুক্ত করি
  • এইচটিএমএল টেমপ্লেট নিয়ে কাজ করি
    • স্ট্যাটিক ফাইল ও টেম্পলেট
    • Hompage পরিবর্তন করি
    • বেস টেমপ্লেট বানাই
    • html টেম্পলেট কে কনভার্ট করি
    • Template Tags
    • Context Processor
  • Urls
  • urls.py এ প্যারামিটার কিভাবে কাজ করে
  • message
  • Forms
    • সাধারণ একটি ফর্ম বানাই
    • ফর্ম লে আউট পরিবর্তন
    • বুটস্ট্রাপ ফর্ম
    • মডেল ফর্ম
      • Form Customization
  • models
    • মডেল বানাই
    • মাইগ্রেশন
    • মডেল ভ্যালিডেশন করা
    • মডেল কাস্টমাইজ
  • Crud
    • image Crud Admin Panel
    • Custom Crud
      • form design bootstrap
      • search Functionality
      • menu
    • File Upload App
    • Image Crud
    • Class view Crud
  • Django Authentication
    • Login/Logout(Default)
    • Registration Page(Default )
    • Profile UpdateView (Default)
    • Change Password (Default)
    • Custom Login And Registration
    • Protecting View
  • Custom Field User Model
  • Formset
    • Page 1
    • formset Crud
  • Send Email
    • Send Email From Gmail
      • Send Email With Attachment
    • Email Verification
  • Uploading Images to Cloudinary
  • Database Connection
    • MySQL
    • postgresql
  • Django Orm
    • Basic Database Operation
      • -all()
      • - get():
      • - first() and last():
      • - filter():
      • - exclude():
      • Chaining Queries
      • Creating, Updating, and Deleting Records
      • Aggregation
      • Annotation
    • Model Relationships and Related Names
      • One-to-One Relationships
      • Many-to-One Relationships
      • Many-to-Many Relationships
      • Reverse Relationships
      • Understanding related_name
    • Advanced Querying with Django ORM
      • Chaining Queries
      • F() Expressions
      • Q() Objects
        • Dynamic Search
      • Raw SQL Queries
    • Performance Optimization with Django ORM
      • Select Related
    • Django সিগন্যাল :
  • requirement.txt
  • channels
    • Create Project
    • কনফিগার
  • Send SMS in Django
    • Configuration
  • Mysql Setup
  • অ্যাডমিন প্যানেলে
    • Site Heading And Title Change
    • মডেলকে অ্যাডমিন প্যানেলে যোগ করি
    • মডেলকে একবার সেভ করা যাবে
    • এডমিন প্যানেলে পিডিএফ এক্সপোর্ট বাটন যোগ করি
    • মডেল ফর্ম কাস্টোমাইজ করি
    • মডেলের html টেম্পলেট পরিবর্তন করি
    • ফিল্ড এর ডিজাইন বুটস্ট্রাপ ফরম্যাটে হবে
    • টেবিল বেসড ফর্মসেট এপ্লিকেশন
    • নির্দিষ্ট ইউজারকে মডেলে এক্সেস পারমিশন দেয়া
    • অ্যাডমিন প্যানেলে জাভাস্ক্রিপ্ট ও css ফাইল যোগ করা
    • fetch data
    • bill of materials
  • Django Rest Framework
    • ভার্চুয়াল এনভায়র্নমেন্ট
    • প্রজেক্ট তৈরী করি
    • মডেলকে প্রস্তুত করি
    • serializer
    • Validation
    • Api তৈরী করি (api_view)
    • Api তৈরী করি (viewsets)
    • JsonResponse তৈরি করি
    • authentication
    • Reactjs
  • প্যাকেজ নিয়ে কাজ করি
    • Tinymce Editor
    • highlight.js
    • Social Login
      • Facebook
      • Github
      • google
    • Select2
      • admin panel
    • CELERY
    • Autocomplete Show Multiple Fields
      • Autocomplete Search
  • Mongodb
    • basic models,forms,views
    • Category Crud
      • Category List
      • Create Category
      • Edit Category
      • Delete Category
      • Link Button list.html
    • Tags Crud
      • Tags List
      • Create Tags
      • Edit Tags
      • Delete Tags
      • Link Button list.html
    • Post
      • Post List
      • Create Post
        • Tinymc
      • Post Details
      • Edit Post
      • Delete Post
      • Link Button list.html
      • Search
    • Comment
      • Post Details
    • Formset Crud
      • Models.py
      • forms.py
      • views
      • urls.py
      • Author
        • author_list
        • create_author
        • Edit Author
        • Delete Author
        • Link Button
      • BookFormset
    • Rest Api
    • Image Upload
  • Redis
  • chart
  • Deployment
    • Pythonanywhere
    • Cpanel Host
  • Reactjs
Powered by GitBook
On this page

Redis

PreviousImage UploadNextchart

Last updated 1 year ago

Django Redis দিয়ে তৈরি করা অ্যাপ্লিকেশনগুলিতে ব্যবহৃত ডেটা Redis এর মধ্যে জমা থাকে। Redis একটি ইন-মেমরি ডেটা স্টোরেজ অ্যাপ্লিকেশন। এর মানে হল যে ডেটা Redis এর মেমরিতে জমা থাকে। Redis এর মেমরি একটি উচ্চ-গতির, দ্রুত-অ্যাক্সেসযোগ্য স্টোরেজ ডিভাইস। এটি অ্যাপ্লিকেশনের পারফরম্যান্স উন্নত করতে সাহায্য করে।

Redis এর মধ্যে ডেটা জমা রাখার জন্য, আপনি Redis এর কী-মান ডেটা স্ট্রাকচার ব্যবহার করতে পারেন। কী-মান ডেটা স্ট্রাকচারে, প্রতিটি কী একটি মানকে সংযুক্ত করে। উদাহরণস্বরূপ, আপনি একটি পণ্যের তালিকা দেখানোর জন্য একটি অ্যাপ্লিকেশন তৈরি করতে পারেন। আপনি Redis এর মধ্যে প্রতিটি পণ্যের জন্য একটি কী-মান ডেটা স্ট্রাকচার ব্যবহার করতে পারেন। কীটি পণ্যের আইডি হবে এবং মানটি পণ্যের নাম, বিবরণ, এবং মূল্য হবে।

Django Redis দিয়ে তৈরি করা অ্যাপ্লিকেশনগুলিতে ব্যবহৃত ডেটা Redis এর মধ্যে জমা থাকার কারণে, এটি খুব দ্রুত অ্যাক্সেস করা যায়। এটি অ্যাপ্লিকেশনের পারফরম্যান্স উন্নত করতে সাহায্য করে।

একটি ছোট বহুল ব্যবহৃত অ্যাপ্লিকেশন হল একটি ক্যাশে অ্যাপ্লিকেশন। এই অ্যাপ্লিকেশনটি Redis এর সাথে ব্যবহার করে ব্যবহারকারীর অনুরোধগুলি ক্যাশে করে। এটি ব্যবহারকারীর অনুরোধগুলির জন্য ডাটাবেসের উপর চাপ কমাতে সাহায্য করে।

Download or download from my link

open start redis server go to program/redis folder open redis-cli write ping it was return PONG

redis-cli 
127.0.0.1:6379> ping
PONG

একটি ক্যাশে অ্যাপ্লিকেশন তৈরি করার জন্য, আপনাকে প্রথমে আপনার Django অ্যাপ্লিকেশনে Redis অ্যাডাপ্টারটি ইনস্টল করতে হবে। আপনি pip ব্যবহার করে এটি করতে পারেন:

pip install django redis

একবার আপনি অ্যাডাপ্টারটি ইনস্টল করে নিলে, আপনাকে আপনার Django settings.py ফাইলে Redis এর সাথে সংযোগ সেটিংস যোগ করতে হবে। নিম্নলিখিত কোডটি একটি উদাহরণ দেখায়:

# settings.py

# settings.py

CACHES = {
    'default': {
        'BACKEND': 'django_redis.cache.RedisCache',
        'LOCATION': 'redis://127.0.0.1:6379/1',  # Change this based on your Redis setup
        'OPTIONS': {
            'CLIENT_CLASS': 'django_redis.client.DefaultClient',
        }
    }
}

এই সেটিংসগুলি Redis এর সাথে একটি ডেফল্ট ক্যাশে সেট আপ করে যা localhost:6379 এ হোস্ট করা হয়।

# models.py

from django.db import models

class BlogPost(models.Model):
    title = models.CharField(max_length=255)
    content = models.TextField()
    created_at = models.DateTimeField(auto_now_add=True)

এখন আপনি আপনার Django অ্যাপ্লিকেশন থেকে Redis এর সাথে সংযোগ করতে এবং ডেটা অ্যাক্সেস করতে পারেন। নিম্নলিখিত কোডটি একটি উদাহরণ দেখায়:

# views.py

from django.core.cache import cache
from django.http import JsonResponse
from .models import BlogPost

def get_blog_posts(request):
    cache_key = 'blog_posts'
    blog_posts = cache.get(cache_key)

    if not blog_posts:
        # Cache is empty, fetch data from the database
        blog_posts = list(BlogPost.objects.values('title', 'content'))

        # Update Redis cache with a 5-minute expiration time
        cache.set(cache_key, blog_posts, timeout=300)

        response_source = 'database'
    else:
        response_source = 'cache'

    return JsonResponse({'blog_posts': blog_posts, 'source': response_source})

এই কোডটি একটি "key" নামক একটি কী থেকে Redis থেকে মান পায়। যদি মানটি কেশে না থাকে, তাহলে এটি ডাটাবেস থেকে মানটি পায় এবং 300 সেকেন্ডের জন্য কেশে রাখে।

# urls.py

from django.urls import path
from .views import get_blog_posts

urlpatterns = [
    path('get_blog_posts/', get_blog_posts, name='get_blog_posts'),
]

python manage.py runserver

  • উপসম্পর্কিত অনুরোধগুলির জন্য ডাটাবেসের উপর চাপ কমাতে ক্যাশিং ব্যবহার করুন। উদাহরণস্বরূপ, আপনি একটি পণ্যের তালিকা দেখানোর জন্য একটি অ্যাপ্লিকেশন তৈরি করতে পারেন। আপনি তালিকার প্রতিটি পণ্যের নাম এবং বিবরণ কেশে রাখতে পারেন। এটি ব্যবহারকারীর অনুরোধগুলির জন্য ডাটাবেস থেকে ডেটা পুনরুদ্ধার করার সময় কমাতে সাহায্য করবে।

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

  • অ্যাপ্লিকেশনের পারফরম্যান্স উন্নত করতে ক্যাশিং ব্যবহার করুন। Redis একটি অত্যন্ত দ্রুত ডেটা স্টোরেজ সমাধান। এটি আপনার অ্যাপ্লিকেশনের পারফরম্যান্স উন্নত করতে সাহায্য করতে পারে।

Redis
7MB
Redis-x64-5.0.14.1.msi