Страница 1 из 1

yiisoft/cache почти готово

Добавлено: 2019.07.16, 02:28
samdark
Последнюю неделю провёл рефакторя и полируя yiisoft/cache. Теперь он мне начинает нравиться. Идея рефакторинга старая, которую изначально реализовал Климов Павел, то есть главный Cache оборачивает любую реализацию PSR-16 добавляя разные фичи.

https://github.com/yiisoft/cache

Детальное описание есть в readme. По сравнению с Yii 2:

1. Совместимость с PSR-16. Можно использовать любую PSR-16 совместимую библиотеку как драйвер кеша. yiisoft/cache также является PSR-16-совместимым.
2. Драйверы продуманы лучше, чем было.
3. Типы есть везде.
4. Зависимость Expression заменена на Callback.
6. Chain разбита на Any и All.

Есть несколько вопросов, которые стоит решить перед релизом, но в общем с этой частью вроде всё:

1. Should `clear()` take key prefix into account?
2. Do we need `add()` and `addMultiple()`? Are there use-cases for these?
3. PSR-16 requires string keys but we're supporting any types via serialization. Is this feature useful?
4. Likely cache storage backends should be moved into separate repositories

Re: yiisoft/cache почти готово

Добавлено: 2019.07.16, 16:49
Loveorigami
Не увидел тут,
https://github.com/yiisoft/cache/tree/m ... Serializer
но часто вставал вопрос в yii2 кеширования конфигов с Closure.

Можно добавить https://github.com/jeremeamia/super_closure
или уже готовое
https://github.com/zumba/json-serializer

Собирал свой serializer для Yii2-queue, чтоб мониторить задачи с closure - работало все без нареканий

Re: yiisoft/cache почти готово

Добавлено: 2019.07.17, 00:43
samdark
Кешировать конфиги не придётся если будете пользоваться плагином для их мёржа, который идёт из коробки.

Re: yiisoft/cache почти готово

Добавлено: 2019.07.17, 09:39
Loveorigami
Пример с конфигами, это для того, чтобы долго не объяснять ).
Задача стояла кешировать (сериализовать) объект с замыканиями (closure).

Re: yiisoft/cache почти готово

Добавлено: 2019.07.17, 11:33
samdark
Сериализация настраивается. Можно, конечно, запилить что-то. Благо замыкания почти хорошо сериализуются (за исключением тех, где не используется FQN).