Как кешировать ajax запросы?

174
28 октября 2018, 21:00

Понимаю что много подобных вопросов, но мало внятных ответов. Есть подобие чата, сообщения в котором обновляются каждые 100 милисекунд, естественно в чатике есть и фото и различные файлы, а это серьёзный ddos сервера, 1. Как постоянно не перезаписать сообщения на сайте, 2. Как понизить нагрузку с регулярной передачей инфы... Как я это представляю: человек пишет сообщение, оно добавляется в конце и кешируется, сервер повторно отправляет запрос, если ничего в кеше не изменилось, тогда выводим кеш...

Answer 1

как написать чатик?

https://socket.io/ в помощь
всё очень просто: на клиенте

const socket = io();
const addText = text => document.body.insertAdjacentHTML('beforebegin', text)
io.on('connection', function (socket) {
    socket.on('chat message', function (msg) {
        addText(msg)
    });
});

подробное руководство там https://socket.io/get-started/chat

Answer 2

Ответ один - перестаньте думать про велосипеды.

Если быть точнее - если вы не хотите прослыть динозавром среди коллег, пожалуйста, обратите внимание на какой ни-будь framework. Ну, например, Vue.js - чтоб понять суть. Ну или Angular, что немного сложней. Заодно и typescript узнаете. Он вам понравится :) Более того, когда начнете искать работу, то предпочтение отдадут не велосепидисту, который говнокодит, а вам ибо вы , то что называется, в тренде. :)

READ ALSO
Selenium с использованием с#(цикл)

Selenium с использованием с#(цикл)

нужно из спана взять значение и вставить в цикл, подскажите нубу что не такКак преобразовать из IWebElement в int

152
Где расположить вложенный класс в C#?

Где расположить вложенный класс в C#?

Для каждого класса нужно создавать отдельный файлА что со вложенными классами? Нужно ли для них создавать отдельный файл (и можно ли вообще...

293
C#7 - throw как выражение в тернарном операторе

C#7 - throw как выражение в тернарном операторе

В версии C#7 и выше мы можем бросать исключения в одной из веток тернарного оператора:

184
Ошибка до загрузки формы

Ошибка до загрузки формы

При загрузке формы возникает ошибка вида

719