Очистка продукта из кеша nopCommerce программно

Я столкнулся с проблемой, когда мне нужно вручную нажать кнопку очистки кеша, чтобы определенный продукт правильно отображался на определенной странице после его сохранения.

Мне интересно, как я могу сделать это с помощью кода, но очистить кеш только для этого продукта.

очистку полного кеша можно сделать так:

var _cacheManager = EngineContext.Current.Resolve<ICacheManager>();
_cacheManager.Clear();

Я пытался сделать это так, но это не сработало.

var product = _productService.GetProductById(productModel.Id);
var productTemplateCacheKey = string.Format(ModelCacheEventConsumer.PRODUCT_TEMPLATE_MODEL_KEY,
                productModel.Id);
_cacheManager.Remove(productTemplateCacheKey);

Не знаете, как это сделать, у кого-нибудь есть идеи? Спасибо

1) Какую версию nop вы используете? 2) Я не думаю, что вам нужно будет очищать кеш после сохранения продукта. 3) Вы имеете в виду код nopCommerce по умолчанию? или вы внесли изменения?

Divyang Desai 15.03.2019 06:37

@Div с использованием nopcommerce v3.70. это тоже не по умолчанию и не настроено

Web Devvy 15.03.2019 06:40

Может быть еще какая-то проблема. Вам не нужно каждый раз очищать кеш после обновления продукта!

Divyang Desai 15.03.2019 06:45

@div мы используем метод для индексации статических html-файлов на страницах категорий GenerateCategoryPageAsHtml(int categoryId)

Web Devvy 15.03.2019 06:46

У меня нет кода 3.70; но я считаю, что это ваш собственный метод. И что вы подразумеваете под статическими html-файлами? будут ли он хранить целые страницы категорий в формате html?

Divyang Desai 15.03.2019 06:52

Ах, хорошо, да, он создает html-файл из 40 продуктов и служит для улучшения скорости. Но не сохраняет страницы с разбивкой на страницы или отфильтрованные страницы

Web Devvy 15.03.2019 06:55

Хорошо, я не думаю, что это лучшее решение для повышения скорости, вы можете не использовать sql для хранения своих данных. Однако, если вы можете опубликовать свой код в общедоступном репозитории. Я рассмотрю проблему, с которой вы столкнулись.

Divyang Desai 15.03.2019 07:08

Привет, @Div, извини, меня не было на работе все выходные. Я думаю, что если невозможно очистить кеш только для одного продукта, мне придется переосмыслить, как я это сделаю. Извините, но я не могу поделиться нашим репозиторием, так как на код ушло огромное количество денег и часов. Я не фанат статических html-страниц, но их создали другие разработчики.

Web Devvy 18.03.2019 00:12

Эй, все в порядке, я понимаю твое беспокойство.

Divyang Desai 18.03.2019 06:16
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
9
227
0

Другие вопросы по теме