Cache কনফিগারেশন এবং ব্যবহার

Cache এবং Session Management - ওয়েব২পাই (Web2Py) - Web Development

254

Web2Py তে Cache ব্যবহারের মাধ্যমে অ্যাপ্লিকেশনটি আরও দ্রুত এবং কার্যকরী করা যায়, বিশেষ করে যখন একই তথ্য বা ডেটা বার বার ব্যবহার করা হয়। Cache হল একটি মেমোরি বা স্টোরেজ সিস্টেম যেখানে সাময়িকভাবে ডেটা রাখা হয়, যাতে ভবিষ্যতে একই ডেটা পুনরায় প্রক্রিয়া করার প্রয়োজন না হয়, ফলে পারফরম্যান্স বৃদ্ধি পায়।

Web2Py তে Cache কনফিগারেশন এবং ব্যবহার করা অত্যন্ত সহজ। নিচে Web2Py তে Cache ব্যবহারের প্রক্রিয়া ব্যাখ্যা করা হলো।


Web2Py তে Cache কনফিগারেশন

Web2Py তে Cache ব্যবহারের জন্য এটি ডিফল্টভাবে কিছু ক্যাশিং মেথড প্রদান করে, যেমন cache, cache.ram, cache.disk, এবং cache.redis। এই ক্যাশ সিস্টেমগুলি আপনাকে ডেটা ক্যাশ করতে এবং সহজেই পুনরুদ্ধার করতে সহায়তা করে।

১. Cache কনফিগারেশন

Web2Py তে cache সিস্টেমটি ডিফল্টভাবে কনফিগার করা থাকে, তবে আপনি যদি নির্দিষ্ট ক্যাশিং কনফিগারেশন পরিবর্তন করতে চান, তবে এটি models ফোল্ডারের modules বা config.py ফাইলে করা যায়।

ডিফল্ট ক্যাশ সেটিংস:

# models/db.py or models/config.py
cache = Cache()

এখানে Cache() ক্লাসের মাধ্যমে Web2Py তে ক্যাশ সিস্টেমের একটি ইনস্ট্যান্স তৈরি করা হয়েছে, যা আপনি আপনার অ্যাপ্লিকেশনে ব্যবহার করতে পারেন।


Web2Py তে Cache ব্যবহার

Web2Py তে ক্যাশ ব্যবহার করার জন্য cache অবজেক্টের মাধ্যমে ডেটা ক্যাশ করা যায়। এটি প্রধানত তিনটি ধরণের ক্যাশিং ব্যবহার করে: RAM, Disk, এবং Redis

২. RAM ক্যাশ

RAM ক্যাশ হল একটি ইন-মেমরি ক্যাশ সিস্টেম, যেখানে ডেটা খুব দ্রুত রিট্রিভ করা যায়। এটি সাধারণত হালকা এবং কম সময়ের জন্য ব্যবহৃত ডেটার জন্য উপযুক্ত।

ব্যবহার উদাহরণ:

# controllers/default.py
def index():
    # চেক করুন, যদি ক্যাশে ডেটা থাকে, তবে সেটি রিটার্ন করুন
    data = cache.ram('my_data', lambda: db().select(db.book.ALL), time_expire=60)
    return dict(data=data)

এখানে:

  • cache.ram(): ক্যাশে ডেটা রাখবে।
  • time_expire=60: ক্যাশে ডেটা ৬০ সেকেন্ড পর্যন্ত থাকবে, তারপর তা আবার পুনরায় ফেচ করা হবে।

৩. Disk ক্যাশ

Disk ক্যাশ ব্যবহার করা হয় যখন ডেটা দীর্ঘ সময় ধরে সংরক্ষণ করতে হয় এবং ডেটা পুনরায় রিটার্ন করা প্রয়োজন হয়। এটি ডেটা ফাইল সিস্টেমে সংরক্ষণ করে।

ব্যবহার উদাহরণ:

# controllers/default.py
def index():
    data = cache.disk('book_data', lambda: db().select(db.book.ALL), time_expire=3600)
    return dict(data=data)

এখানে:

  • cache.disk(): ডেটা ডিস্কে সংরক্ষণ করা হয়।
  • time_expire=3600: ক্যাশ ৩৬০০ সেকেন্ড (এক ঘন্টা) ধরে থাকবে।

৪. Redis ক্যাশ (যদি Redis ইনস্টল করা থাকে)

Redis হল একটি ইন-মেমরি ডেটাবেস যা উচ্চ পারফরম্যান্স ক্যাশিং প্রদান করে। Web2Py তে Redis ব্যবহার করতে হলে Redis সার্ভার চলমান থাকতে হবে এবং cache.redis() মেথড ব্যবহার করতে হবে।

ব্যবহার উদাহরণ:

# controllers/default.py
def index():
    data = cache.redis('book_data', lambda: db().select(db.book.ALL), time_expire=600)
    return dict(data=data)

এখানে:

  • cache.redis(): Redis ক্যাশ ব্যবহার করা হয়েছে।
  • time_expire=600: ক্যাশ ১০ মিনিটের জন্য থাকবে।

৫. Cache Key ব্যবহার

Web2Py তে আপনি ক্যাশে একাধিক কী ব্যবহার করতে পারেন, যাতে আপনি একাধিক ডেটার জন্য আলাদা আলাদা ক্যাশ তৈরি করতে পারেন। যেমন:

# controllers/default.py
def index():
    # বইয়ের তালিকা ক্যাশ করা
    books = cache.ram('books_list', lambda: db().select(db.book.ALL), time_expire=60)
    
    # বিশেষ বইয়ের তথ্য ক্যাশ করা
    book_detail = cache.ram(f'book_{request.args(0)}', lambda: db(db.book.id == request.args(0)).select().first(), time_expire=3600)
    
    return dict(books=books, book_detail=book_detail)

এখানে:

  • 'books_list' এবং f'book_{request.args(0)}' দুইটি আলাদা ক্যাশ কী হিসেবে ব্যবহৃত হয়েছে।

৬. Cache কন্ট্রোল

আপনি যদি ক্যাশ ম্যানেজ করতে চান বা ক্যাশের মধ্যে থাকা ডেটা ম্যানুয়ালি ক্লিয়ার করতে চান, তবে Web2Py তে cache.clear() এবং cache.remove() ফাংশন ব্যবহার করতে পারেন।

ক্যাশ মুছে ফেলা:

# ক্যাশ ক্লিয়ার করা
cache.clear()

# নির্দিষ্ট ক্যাশ কী মুছে ফেলা
cache.remove('book_data')

এটি আপনি অ্যাপ্লিকেশনের বিভিন্ন পরিস্থিতিতে ব্যবহার করতে পারেন, যেমন ক্যাশের মধ্যে কোনো অপ্রয়োজনীয় বা পুরনো ডেটা থাকলে তা মুছে ফেলা।


সারাংশ

Web2Py তে Cache ব্যবহারের মাধ্যমে আপনি অ্যাপ্লিকেশনের পারফরম্যান্স বৃদ্ধি করতে পারেন। RAM ক্যাশ, Disk ক্যাশ, এবং Redis ক্যাশ এর মাধ্যমে আপনি ডেটা দ্রুত এবং কার্যকরভাবে ম্যানেজ করতে পারেন। Web2Py ক্যাশ সিস্টেম সহজে কনফিগার এবং ব্যবহারযোগ্য, যা ডেটার পুনঃব্যবহার করে সময় এবং রিসোর্স সাশ্রয় করতে সহায়তা করে। Cache ব্যবহারের মাধ্যমে Web2Py অ্যাপ্লিকেশনটি আরও দ্রুত এবং কার্যকরী হয়, বিশেষ করে যখন একই ডেটা বারবার ব্যবহার করা হয়।

Content added By
Promotion

Are you sure to start over?

Loading...