Кэшировать все - PullRequest
       6

Кэшировать все

0 голосов
/ 12 июля 2020

Я очень близок к завершению подачи заявки. В настоящее время я использую файловый кеш на laravel для кеширования практически всех данных, которые сохраняются в моих таблицах каждый раз, когда запись сохраняется, обновляется или удаляется. В этих таблицах за период времени, возможно, через 3 года или меньше будет более 2 миллионов записей. Мне было интересно, есть ли какие-нибудь подводные камни, о которых мне нужно знать при кэшировании файлов всех моих записей. Предвидит ли кто-нибудь проблему с кешированием сотен тысяч записей в течение определенного периода времени?

В настоящее время моя система кеширования работает, когда я сохраняю новую запись, удаляю или обновляю ее. record сбрасывает кеш для рассматриваемой таблицы / записи. Каждая из моих таблиц / и большинства записей имеет собственный кеш. Предвидит ли кто-нибудь проблемы с этим дизайном с очень большой базой данных?

С уважением, Даррен

1 Ответ

0 голосов
/ 12 июля 2020

У вас миллионы данных, что немного беспокоит, если приложение имеет большое количество обращений в секунду. В этом случае большее количество совпадений означает увеличение дискового ввода-вывода. Любое узкое место в дисковом вводе-выводе должно повлиять на общую производительность приложения.

Исходя из моего личного опыта, лучший подход - решить, какие данные следует кэшировать, а какие нет, какие уровни и архитектура кэширования должны быть б / у, et c. Например, вы можете не захотеть кэшировать какие-либо очень динамичные данные c. Например, тележки пользователя, баланс, количество просмотров и т. Д. c. Поскольку эти данные постоянно меняются, их кеширование обычно приводит (почти к) к удвоению потребления ресурсов, а не к увеличению фактической пропускной способности в практическом сценарии ios. Если набор данных извлекается редко, он может вообще не нуждаться в кешировании.

С другой стороны, если какая-то часть ваших данных имеет очень высокий коэффициент попадания, например, элементы домашней страницы, верхние сообщения , самые продаваемые товары, et c. тогда их следует кэшировать с использованием механизма быстрого и высокодоступного кэширования, такого как хранилища объектов. Таким образом, высокий спрос может быть удовлетворен в случае тысяч одновременных обращений к этим данным без ущерба для дискового ввода-вывода или производительности базы данных.

Проще говоря, разные сегменты данных приложения могут нуждаться или не нуждаться в разных подходах для кеширования.

...