|
|
|
| Нужен совет как хранить историю переписки в Redis.
Сейчас не могу определиться в структуре хранения и в каком типе.
Думаю, что хранить список диалогов(только ID) в типе SET, когда ключ списка(ID пользователя) содержит значения ID других пользователей, с кем был диалог.
В Redis это выглядит так:
SADD user.conversation : 145 "1"
SADD user.conversation : 145 "2"
SADD user.conversation : 145 "3"
|
Это означает, что пользователь с ID = 145 общался с пользователям 1,2,3.
Вроде как все хорошо..
Далее создаю еще одно хранилище в редиске: user.dialog
В него хочу писать все сообщения, отправленные пользователями.
В качестве ключа использовать
hash(ID_мой + ID_c кем переписка)
| , а в качестве значения использовать JSON в формете:
{time: 123457891, message: 'HI!', 'from' : '1', 'to' : '145', read : 1}
|
Но, тут вопрос - правильно ли выбран тип SET для хранения текста переписки?
Удобно ли будет потом с ним работать, сортировка, выборка с лимитом?
Правильная ли вообще концепция?
PS: категорией ошибся..извиняюсь | |
|
|