PHPackages                             guentur/cache-wrapper - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Caching](/categories/caching)
4. /
5. guentur/cache-wrapper

ActiveMagento2-module[Caching](/categories/caching)

guentur/cache-wrapper
=====================

Preference for Magento cache module. You can obtain data from cache, but if it isn't in cache, CacheWrapper module save it to the cache automaticaly and then convey you the data from cache

1.2.0(4y ago)18CC0-1.0PHPPHP ~7.3.0||~7.4.0

Since Mar 17Pushed 3y ago1 watchersCompare

[ Source](https://github.com/guentur/MagentoCache)[ Packagist](https://packagist.org/packages/guentur/cache-wrapper)[ RSS](/packages/guentur-cache-wrapper/feed)WikiDiscussions main Synced today

READMEChangelog (3)Dependencies (1)Versions (4)Used By (0)

Guentur\_CacheWrapper
=====================

[](#guentur_cachewrapper)

Установка
---------

[](#установка)

`composer require guentur/cache-wrapper`

`bin/magento module:enable Guentur_CacheWrapper`

Приступая к использованию
-------------------------

[](#приступая-к-использованию)

Для использования функционала модуля имплементируйте в конструктор таким образом:

```
    private $cache;

    public function __construct(
        \Guentur\CacheWrapper\App\CacheInterface $cache
    ) {
        $this->cache = $cache;
    }
```

Также модуль переопределяет preference для `Magento\Framework\App\CacheInterface`(смотрите в Guentur/CacheWrapperetc/di.xml), так что методы модуля можно вызывать из стандартного интерфейса.

Glossary
--------

[](#glossary)

- Идентификатор кеша - Уникален и используется для получения одной конкретной записи. Не должны сохраняться несколько записей под одним идентификатором.
- Теги кеша — это способ классификации записей кэша. Когда вы сохраняете кеш, вы можете установить массив тегов, которые будут применяться к этой записи. Затем вы сможете очистить все записи кеша, помеченные данным тегом (или тегами). Теги могут повторяться в разных *записях* кеша.

Чтобы указать к какому [типу кеша](https://devdocs.magento.com/guides/v2.4/config-guide/cli/config-cli-subcommands-cache.html#config-cli-subcommands-cache-clean-over)ваша запись пренадлежит - передайте при её сохранении тег, который определен в [классе типа кеша](https://developer.adobe.com/commerce/php/development/cache/partial/cache-type/#cache-type-model)

### Пример:

[](#пример)

Находим класс кеша по его идентификатору в конфигурации `cache.xml`:

```
...

        Page Cache
        Full page caching

```

Передаем тег из класса типа:

```
return $this->cache->getCached(
            'some_cache_key',
            function () {
                ...
                return $data;
            },
            [\Magento\PageCache\Model\Cache\Type::CACHE_TAG],
            86400
        );
```

Сохранение в кеш
----------------

[](#сохранение-в-кеш)

`saveToCache(string $index, array $data, array $cacheTags = [], $lifeTime = null): void`

- `string $index` - [Идентификатор кеша](#glossary). Используется для получения всех записей, сохраненных с одним идентификатором.
- `array $data` - Данные для сохранения.
- `string[] $cacheTags` - [Теги кеша](#glossary).
- `int $lifeTime = null` - Время жизни кеша.

Получение данных из кеша
------------------------

[](#получение-данных-из-кеша)

`getCached(string $index, callable $data, array $cacheTags = [], $lifeTime = null): array`

- `string $index` - [Идентификатор кеша](#glossary). Используется при получения данных.
- `callable $data` - [Анонимная функция](https://www.php.net/manual/ru/functions.anonymous.php), возвращает **массив** данных для сохранения.
- `string[] $cacheTags` - [Теги кеша](#glossary).
- `int $lifeTime = null` - Время жизни кеша.

### Если не не удалось достать данные из кеша:

[](#если-не-не-удалось-достать-данные-из-кеша)

Вызывается `callable $data` для получения данных, которые должны быть в кеше. Вызывается метод [`saveToCache()`](#%D1%81%D0%BE%D1%85%D1%80%D0%B0%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5-%D0%B2-%D0%BA%D0%B5%D1%88) для сохранения данных. В нее передаются: `$index`; данные, возвращенные `callable $data`; `$cacheTags`

### Пример использования `getCached()`

[](#пример-использования-getcached)

```
$this->cache->getCached(
            'cache_key_index',
            function () use ($greaterThan) {
                return $this->discountTierCollectionFactory->create()
                    ->addFieldToFilter(self::DISCOUNT_PRODUCT_TYPE, $productTypeId)
                    ->addFieldToFilter(self::SOME_ATTRIBUTE, ["gt" => $greaterThan])
                    ->setOrder(self::DISCOUNT_MIN_QTY, Collection::SORT_ORDER_ASC)
                    ->getFirstItem()
                    ->getData();
            },
            ['cache_key_index' . $greaterThan]
        );
```

> Использование анонимной функции для передачи данных можно назвать оптимизацией.

Очищение кеша
-------------

[](#очищение-кеша)

`cleanWithMode(string $mode, array $tags = []): bool`

- `string $mode` - Режим удаления кеша. Подробнее можно прочитать в [документации Zend\_Cache](https://framework.zend.com/manual/1.10/en/zend.cache.theory.html)
- `string[] $cacheTags` - [Теги кеша](#glossary).

### Доступные режимы:

[](#доступные-режимы)

- `all` (default) =&gt; remove all cache entries ($tags is not used)
- `old` =&gt; remove too old cache entries ($tags is not used)
- `matchingTag` =&gt; remove cache entries matching all given tags ($tags can be an array of strings or a single string)
- `notMatchingTag` =&gt; remove cache entries not matching one of the given tags ($tags can be an array of strings or a single string)
- `matchingAnyTag` =&gt; remove cache entries matching any given tags ($tags can be an array of strings or a single string)

Заметки. Как работает кеш в Magento 2
-------------------------------------

[](#заметки-как-работает-кеш-в-magento-2)

Базовый класс для работы с кешем в Magento 2 - `Magento\Framework\Cache\Core` наследуется от `\Zend_Cache_Core`

@todo

###  Health Score

23

—

LowBetter than 26% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity51

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~40 days

Total

3

Last Release

1489d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/1048c1a432c73b59e98e56fba7bdabcd2bf620e08c2d52e64e7e8c2d25938a93?d=identicon)[guentur](/maintainers/guentur)

---

Top Contributors

[![guentur](https://avatars.githubusercontent.com/u/64845469?v=4)](https://github.com/guentur "guentur (33 commits)")

### Embed Badge

![Health badge](/badges/guentur-cache-wrapper/health.svg)

```
[![Health](https://phpackages.com/badges/guentur-cache-wrapper/health.svg)](https://phpackages.com/packages/guentur-cache-wrapper)
```

###  Alternatives

[fastly/magento2

Fastly CDN Module for Magento 2.4.x

1564.4M1](/packages/fastly-magento2)[lizardmedia/module-varnish-warmer

Varnish Cache Warmer Magento2 module by Lizard Media

6180.3k](/packages/lizardmedia-module-varnish-warmer)[elgentos/magento2-varnish-extended

This extension extends the built-in Varnish functionalities

6920.7k](/packages/elgentos-magento2-varnish-extended)[litespeed/module-litemage

LiteMage Full Page Cache for LiteSpeed Web Server

3257.9k](/packages/litespeed-module-litemage)[pronko/selective-cache

Pronko Consulting Selective Cache

3520.4k](/packages/pronko-selective-cache)[myparcelnl/magento

A Magento 2 module that creates MyParcel labels

1860.2k](/packages/myparcelnl-magento)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
