ম্যাজেন্টো 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.