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

Привет! Кто-то может подсказать как реализовать хранение сессий в редисе? Из

данных только токен и айди пользователя. Мои варианты:

1) SET/GET/DEL, но как удалить все сессии одного пользователя?
2) hash (мапа) и HSET/HGET/HDEL, но как искать по токену?

Требуется поиск по токену, удаление его или всех для юзера

8 ответов

8 просмотров

Это не тут мы дружно ржали над тем, что редис вечно вешается и теряет всю базу?

Illia 🇺🇦- Автор вопроса
Ilya Anfimov
Это не тут мы дружно ржали над тем, что редис вечн...

не в прод пишется, но слышал что редис часто используют для этого

Illia 🇺🇦
не в прод пишется, но слышал что редис часто испол...

Используют -- часто, непонятно только зачем и почему.

1) Записывать в двух вариантах token => user_id, user_id => token 2) Использовать KEYS с паттерном поиска и писать ключи типо tokens:user_id:user_token. Не самый популярный вариант, но проблем с производительностью быть не должно, если у вас там не баснословное кол-во записей хранится

Illia 🇺🇦- Автор вопроса
Виктор Ткаченко
1) Записывать в двух вариантах token => user_id, u...

Создание: SET 12192:1dfd21340440eb3c1e51 "" Поиск: SCAN 0 MATCH *:1dfd21340440eb3c1e51 COUNT 1 Удаление: DEL 12192:1dfd21340440eb3c1e5 Удаление всех токенов: В приложении результат KEYS 12192:* положить в аргументы DEL ?

Illia 🇺🇦
Создание: SET 12192:1dfd21340440eb3c1e51 "" Поиск...

да. Классифицировать ключи все же стоит конкретней, порядка будет больше

Illia 🇺🇦
не в прод пишется, но слышал что редис часто испол...

редис - это самопвоспроизводимая проблема. именно из-за вот этого "я слышал, это популярное решение" его берут и берут на вооружение люди, еще не осознавшие проблематику конкретно этого сервиса.

Illia 🇺🇦
Создание: SET 12192:1dfd21340440eb3c1e51 "" Поиск...

И да, регулярное, на каждый connection использование scan, который O(N) от числа элементов на всю коллекцыю в редиске -- это полный абзац. Прямо сразу вопрос -- а нафига брать редис, как-то его тамагочить, если скорость вообще в принцыпе не интересует? То есть, вопрос нафига брать редис стоит всегда, конечно -- но тут он сразу встаёт второй раз. Просто не делайте так.

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

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

Кто создает тут ботов для телеграмм групп ?
Antskup
8
Я хочу запустить свой проект в тг. Что-то между пирамидой и майнилкой. Еще подобного ничего не было. Уникальная идея. Нужен именно не бот, а приложение. С ввод, выводом тон...
Павел А.
6
Привет, кто может сделать юзербота с апи? Задачи: - создавать группы - создавать каналы - задавать для созданных каналов аватарку или эмоджи, имя группы - добавлять в группы...
Lencore
13
Всем доброго вечера! Хочу поделиться своим злоключением с человеком, который, как оказалось сюда тоже скидывал свое резюме. Жаль, что я вашу группу не нашел раньше… человек ки...
Роман Ахмедзянов
4
у меня такой вопрос про память в x86 возник, может кто пояснить?.. у процессора есть (как минимум) 3 типа адресов (названия "п1", "п2", "п3" --- мои, чтобы проще было дальше)...
Toideng
10
Добрый день. Созданию отношения таблиц для учёта кораблей, их движения между точками (портами) согласно расписания. Терзают сомнения в правильном ли направлении двигаюсь 😅 1...
Aleksey
1
Может быть кто-то знает как правильно построить многопоточную программу на dx11? (Как в главном потоке обновлять текстуру и в других потоках её читать и переводить в Mat)
­
2
господа, когда у вас в боте есть локализация (ру + англ, остальные языки пока не планируются), вы на первом старте как с языком решаете вопрос: смотрите на language_code приле...
Denis 🐍|👑 | darling! 🥰
5
Я колись ставив гуглу антиспам 3.0, може і норм, але мені не дуже зайшло. Теж думав тиждень, що його і куди. Зупинився на трех варіантах відразу всі три і включив 1. Перевір...
𝓔𝓾𝓰𝓮𝓷𝓮𝓥 J
2
Всем привет, Добавил в плагин определение user agent public function registerMarkupTags() { return [ 'filters' => [ 'staticPage' => ['RainLab\Pages\Cl...
John Norton Kruger
3
Карта сайта