PHP, который лучше всего подходит для хранения данных в сеансе и базе данных?

Я создаю веб-сайт, который показывает рекомендуемые страницы для пользователей.

Пользователи просто нажимают следующую кнопку, чтобы посмотреть разные рекомендуемые веб-страницы.

Я хочу проверить все действия, которые могут сделать пользователи.

Итак, я проверю просмотры страниц, которые фактически видят пользователи.

1. there is a 'user_pageview' column for each users. 2. the numbers will increase every time if users click next button. 

Я могу отправить запрос на обновление данных каждый раз.

Тем не менее, я считаю, что этот шаг будет раздражать моего сервера.

Итак, я собираюсь временно сохранить данные в сеансе и сохранить их позже.

Как вы думаете?

Да, это будет «раздражать ваш сервер».
Точно так же вы «раздражаете» свой автомобиль, катаясь на нем.

Цель сервера базы данных – управлять хранилищем данных, извлекать, фильтровать и т. Д.
Нет ничего существенного в хранении данных в базе данных.

Может быть проблема, да, с перестройкой индекса (если есть).
Тем не менее, возникла бы проблема с сеансом отслеживания пользователей.

Поэтому я не буду беспокоиться о сеансе, пока у меня не возникнет проблема с базой данных (что, скорее всего, не произойдет никогда).

Я не вижу, что не так с увеличением страницы user_pageview на каждом просмотре страницы, вы можете сделать

 update table views set user_pageview = user_pageview + 1 where page_id = 4 

Ваш скрипт PHP был бы подключен к вашей БД в любом случае, и этот запрос не должен убивать ваш сервер.

Сохранение его на сеанс также «раздражает» ваш сервер, так как вам нужно будет сделать запрос, чтобы сохранить его в сеансе.

Если вы имеете в виду сервер db, мой вопрос: это проблема. Вы заметили, что сервер db становится узким местом? Я так не думаю, потому что сервер db должен легко справиться с этим.

Однако у меня действительно есть проблемы с производительностью db И ТОЛЬКО ТОГДА вы должны найти способ избавить сервер db от кеширования. Например, вы можете сохранить его в сеансе (убедитесь, что вы обновили db до того, как сеанс был уничтожен) или с помощью кеша на стороне клиента (локальное хранилище).

Опять же, вы должны только посмотреть на это, если сервер db станет узким местом. И если это так, я бы сначала попытался проверить, что WTH идет не так с моим db (почему это узкое место).