ম্যাজেন্টো 2: কীভাবে নিজের নিজস্ব কাস্টম ক্যাশে তৈরি করবেন?


10

ম্যাজেন্টো 1-তে, আপনার নিজের মধ্যে নিম্নলিখিতটি ঘোষণা করে নিজের ক্যাশে প্রকার তৈরি করা সম্ভব হয়েছিল config.xml:

<global>
    <cache>
        <types>
            <custom translate="label,description" module="module">
                <label>Custom Cache</label>
                <description>This is my custom cacge</description>
                <tags>CUSTOM_CACHE_TAG</tags>
            </custom >
        </types>
    </cache>
</global>

এটি সিস্টেম> ক্যাশে ম্যানেজমেন্টের অধীনে ব্যাকএন্ডে নতুন ক্যাশে প্রকার যুক্ত হবে এবং এর ফলে এটি CUSTOM_CACHE_TAGক্যাশে ট্যাগ সম্পর্কিত ক্যাশে ফ্লাশ করার ক্ষমতা যুক্ত করবে ।

এম 2 এ কি এটি সম্ভব এবং কীভাবে এটি অর্জন করা যায়?


গৃহীত উত্তরের একটি নমুনা বাস্তবায়নের জন্য দেখুন: magento.stackexchange.com/questions/150074/…
— রিকডাব্লু

গৃহীত উত্তরের একটি নমুনা বাস্তবায়নের জন্য দেখুন: magento.stackexchange.com/questions/150074/…
— রিকডাব্লু

উত্তর:


19

এটি কাস্টম ক্যাশে প্রকার তৈরির জন্য কিছু প্রাথমিক কাঠামোর নীচে,

এর সাথে একটি মডিউল তৈরি করুন,

app/code/Vendor/Cachetype/etc/cache.xml

<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Cache/etc/cache.xsd">
    <type name="custom_cache" translate="label,description" instance="Vendor\Cachetype\Model\Cache\Type">
        <label>Custom Cache type</label>
        <description>Custom cache description.</description>
    </type>
</config>

app/code/Vendor/Cachetype/i18n/en_US.csv

"Custom cache description.","Custom cache description."
"cachetype","Cache type"

app/code/Vendor/Cachetype/Model/Cache/Type.php

<?php
namespace Vendor\Cachetype\Model\Cache;

/**
 * System / Cache Management / Cache type "Custom Cache Tag"
 */
class Type extends \Magento\Framework\Cache\Frontend\Decorator\TagScope
{
    /**
     * Cache type code unique among all cache types
     */
    const TYPE_IDENTIFIER = 'custom_cache_tag';

    /**
     * Cache tag used to distinguish the cache type from all other cache
     */
    const CACHE_TAG = 'CUSTOM_CACHE_TAG';

    /**
     * @param \Magento\Framework\App\Cache\Type\FrontendPool $cacheFrontendPool
     */
    public function __construct(\Magento\Framework\App\Cache\Type\FrontendPool $cacheFrontendPool)
    {
        parent::__construct($cacheFrontendPool->get(self::TYPE_IDENTIFIER), self::CACHE_TAG);
    }
}

ধন্যবাদ।


7
আপনি কীভাবে ক্যাশে ব্যবহার করবেন তা বলতে পারলে দুর্দান্ত হবে। মানে কীভাবে ক্যাশে আইটেম যুক্ত করতে, মুছতে, চেক করবেন।
— অরবিন্দ 07

যদি কেহ কীভাবে ডেটা সঞ্চয় এবং রাখার বিষয়ে জানে তবে দুর্দান্ত হবে। দয়া করে
— আরশাদ হুসেন


2

রাকেশ গৃহীত মন্তব্য সম্পাদনা করতে চান তবে তা প্রত্যাখ্যান করা হয়েছিল ...

যাইহোক এখানে কিছু রদবদল, রাকেশের উত্তরের উত্তরের অতিরিক্ত তথ্য:

ক্যাশে.এক্সএমএলকে কিছুটা সংশোধন করা দরকার:

<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xsi:noNamespaceSchemaLocation="urn:magento:framework:Cache/etc/cache.xsd">
<type name="custom_cache_tag" translate="label,description" instance="Vendor\Cachetype\Model\Cache\Type">
        <label>Custom Cache type</label>
        <description>Custom cache description.</description>
    </type>
 </config>

নামটি অবশ্যই ক্যাশে_ট্যাগের সাথে মেলে।

এটি কীভাবে ব্যবহার করবেন, এখানে দেখুন: কাস্টম মডিউলটিতে ম্যাজেন্টো 2 কাস্টম ক্যাশে ব্যবহার করা

ডেটা ব্যবহার করতে (ক্যাশে হওয়ার পরে) আপনাকে এটি আনসিসিয়ালাইজ করতে হবে:

$data = unserialize($this->_cacheType->load($cacheKey));
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.