170 похожих чатов

Всем привет, не знаю как лучше сделать. На сервер

идет запрос с двумя параметрами, мы хэшируем параметры, если такой хэш уже есть надо отдать хэш если хэша нет надо забросить его в базу и потом отдать. Как лучше сделать, каждый раз давать запрос в базу есть ли такой хэш, или при запуске сервера занести в массив все хэши, и потом просто проверять есть ли в массиве такой. Хэшей будет много. Как будет наиболее продуктивно?

13 ответов

20 просмотров

Есть redis для таких штук

Во втором варианте если уж на то пошло надо использовать Set, а не Array...но для таких случаев, когда хотите быстрый ин мемори кеш - берут redis

Просто в случае если ты делаешь это в своем приложении то ты гарантированно теряешь кеш при краше и на каждый узел будет свой экземпляр кеша

для этой задачи редис не нужен, достаточно мемкеша, он и быстрее, на порядок, можно выжать до 400к в секунду, если сильно постраться редис от такого давно помрет 🙁

Хм.. Считал что они равнозначны...не пользовался

нет и сильно, редис гораздо более функционален, однако уступает в скорости мемкеш сильно быстрее, но туповат в плане функций

Спасибо, буду знать

Pavlo- Автор вопроса

Как такое реализовать в мемкеше?

https://redislabs.com/lp/node-js-memcached/

Pavlo- Автор вопроса

А например если есть новый хэш то перезаписывать кеш?

ну это уж как вам нужно согласно бизнес-логике

Само собой

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Карта сайта