Size: a a a

NodeUA - JavaScript and Node.js in Ukraine

2018 December 18

Вт

Ві тя in NodeUA - JavaScript and Node.js in Ukraine
Чатек, кто-то юзал? https://github.com/graphile/postgraphile
источник

A⚒

Al4evec ⚒ in NodeUA - JavaScript and Node.js in Ukraine
arts
Ребят, а я могу как-то через  ZRANGEBYLEX находить значения которые не совсем фиксированные
например есть наборы:
user1-channel1-key1
user2-channel1-key1
user1-channel2-key2
user2-channel2-key2
user1-channel3-key3
user2-channel3-key3

У меня есть данные только channel2 , я могу как-то получить записи исключительно с ним?
user1-channel2-key2
user2-channel2-key2
Парсишь строку с названием - получаешь по результатам индексы, вот и данные для канала 2
источник

a

arts in NodeUA - JavaScript and Node.js in Ukraine
Al4evec ⚒
Парсишь строку с названием - получаешь по результатам индексы, вот и данные для канала 2
сорян, не совсем понял
как я могу получить индексы ?
источник

A⚒

Al4evec ⚒ in NodeUA - JavaScript and Node.js in Ukraine
Данные лежат в массиве или объекте?
источник

a

arts in NodeUA - JavaScript and Node.js in Ukraine
в наборе (через ZADD добавляем)
источник

A⚒

Al4evec ⚒ in NodeUA - JavaScript and Node.js in Ukraine
Да в принципе, не важно. Все ключи можно получить? Получив их можно распарсить... Или через поиск по массиву с "-канал2-" запросом. Потом получить искомые ключи
источник

a

arts in NodeUA - JavaScript and Node.js in Ukraine
я хотел вывести через ZRANGEBYLEX была запись вида [\xff-channel1 [\xff-channel2, но видимо так нельзя
по твоему способову, если я правильно понял, то нужно проходить по всему набору и находить то, что подходит, это, наверное, тоже не есть гуд.
Или я не правильно понял ?
источник

A⚒

Al4evec ⚒ in NodeUA - JavaScript and Node.js in Ukraine
Напрямую, думаю, не получится - ZRANGEBYLEX возвращает сортированный интервал, он же не по каналу сортируется. Поэтому не получится напрямую
источник

a

arts in NodeUA - JavaScript and Node.js in Ukraine
а как еще можно ?
проблема в том, что если у меня есть только какой-то key  мне нужно брать сразу весь набор (а он может быть ну ооочень большой), проходить форичем  выбирая только с нужным кеем.
но при этом мне желательно чтобы данные сохранялись именно в таком формате, так как к key привязан user и channel, а они тоже используются в других ф-иях.

Может как-то через линки или обьекты, в доке что-то есть об этом, но пока чет не очень получается врубить в это все
источник

A⚒

Al4evec ⚒ in NodeUA - JavaScript and Node.js in Ukraine
user##-channel## - это данные в наборе? Или ключи?
источник

a

arts in NodeUA - JavaScript and Node.js in Ukraine
данные в наборе
это типо данные для бота
источник

A⚒

Al4evec ⚒ in NodeUA - JavaScript and Node.js in Ukraine
значит ключи
источник

A⚒

Al4evec ⚒ in NodeUA - JavaScript and Node.js in Ukraine
ключей много?
источник

a

arts in NodeUA - JavaScript and Node.js in Ukraine
можно хранить наборы отдельно, наборы ключей, а в них данные (канал + пользователь), но тогда, если удаляется канал, то нужно прямо все эти ключи разбирать и выбирать
источник

a

arts in NodeUA - JavaScript and Node.js in Ukraine
ну потенциально может быть очень много да
источник

a

arts in NodeUA - JavaScript and Node.js in Ukraine
по факту если бы можно было выбрать через ZRANGEBYLEX все ключи у кого нужный мне кей, то не нужно было бы создавать еще наборы, а просто распарсив строку отправлять данные.
Но если этого сделать нельзя нужно будет проганять целый массив, что не есть гуд, наверное
источник

A⚒

Al4evec ⚒ in NodeUA - JavaScript and Node.js in Ukraine
arts
можно хранить наборы отдельно, наборы ключей, а в них данные (канал + пользователь), но тогда, если удаляется канал, то нужно прямо все эти ключи разбирать и выбирать
Ну тут смотреть нужно что чаще нужно - доступ к данным или удаление? Есил удаление 1 раз на тысячи доступов - то смысл оптимизировать удаление?
источник

A⚒

Al4evec ⚒ in NodeUA - JavaScript and Node.js in Ukraine
arts
по факту если бы можно было выбрать через ZRANGEBYLEX все ключи у кого нужный мне кей, то не нужно было бы создавать еще наборы, а просто распарсив строку отправлять данные.
Но если этого сделать нельзя нужно будет проганять целый массив, что не есть гуд, наверное
Вот тут я немного сломался - ключи и кей - разные вещи?
источник

a

arts in NodeUA - JavaScript and Node.js in Ukraine
)) сорян
в плане ZRANGEBYLEX test1 [key (key кей - это данные которые я ввожу )
источник

A⚒

Al4evec ⚒ in NodeUA - JavaScript and Node.js in Ukraine
А нужно именно данные хранить как user##-channel## или можно channel##-user##?
источник