@ru_python

Страница 8601 из 9768
Hot
02.04.2019
15:56:03
А потом я побывал на максимально упоротом собесе в криптостартапе и решил по криптостартапам больше не ходить ?

Denis
02.04.2019
15:58:12
А че я то сразу

Я редис только как кеш использовал

Google
Марк
02.04.2019
15:58:27
Ты не сразу, а вторым)

Aragaer
02.04.2019
15:58:31
я не очень знаю, что такое редис

Tigran
02.04.2019
15:58:41
Я не знал, но я вообще не думал, что есть какие-то гарантии на вытеснение ключей

кажется, опираться на это плохая идея

Ksenia
02.04.2019
16:00:14
А, вайткод. Так и не дошёл до вас в прошлый поход по собесам, хотя вакансию вроде видел.
Очень жаль, что не дошли. Но еще не поздно, будем рады пообщаться )

Tishka17
02.04.2019
16:01:48
Марк
02.04.2019
16:02:01
Вообще, для подобных штуковин сначала хотел заюзать что-то более надежное. Но увы. Я нихера не нашел, где бы поддерживался TTL записи

Tishka17
02.04.2019
16:03:21
М?

Вы там про редис?

Марк
02.04.2019
16:04:57
Ага

Google
Tishka17
02.04.2019
16:05:04
В aerospike, кстати, TTL записи есть

LighteR
02.04.2019
16:05:28
Ага
странное желание какое-то

у редиса есть два механизма: 1. ключ удаляется при попытке его получения (если ttl истек) 2. фоновый gc, который их выщищает

Tishka17
02.04.2019
16:06:14
И правда, зачем нотификации на ТТЛ?

LighteR
02.04.2019
16:06:21
исходя из этого странно строить логику на этом

LighteR
02.04.2019
16:07:43
У меня через подписку на триггер или как он точно называется.
да пофигу, я тебе рассказал как оно внутри работает

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

все остальные кейсы использовать не надо

Tishka17
02.04.2019
16:09:08
> If no command targets the key constantly, and there are many keys with a TTL associated, there can be a significant delay between the time the key time to live drops to zero, and the time the expired event is generated. Basically expired events are generated when the Redis server deletes the key and not when the time to live theoretically reaches the value of zero. https://redis.io/topics/notifications

Марк
02.04.2019
16:10:59
в общем единственный нормальный кейс использования ttl, это гарантия того, что ты не получишь устаревшие данные
Не понял. Ты выставил на ключ ттл. Если ключ еще жив, что А, если нет то Б. Ты об этом?

> If no command targets the key constantly, and there are many keys with a TTL associated, there can be a significant delay between the time the key time to live drops to zero, and the time the expired event is generated. Basically expired events are generated when the Redis server deletes the key and not when the time to live theoretically reaches the value of zero. https://redis.io/topics/notifications
Там написано "Много". В моем представлении много - это в рамках редиски почти дохуя. Но таких TTL ключей там не будет много в принципе никогда. Поэтому и выбрал.

LighteR
02.04.2019
16:13:48
Не понял. Ты выставил на ключ ттл. Если ключ еще жив, что А, если нет то Б. Ты об этом?
я о том, что в нормальном сценарии редис может узнать о том, что ttl истек только в момент попытки получения этого ключа. Т.е. он достает данные по ключу, видит что там есть ttl, если он не истек возвращает значение, если истек - то возвращает, что этого ключа нет и физически его удаляет

LighteR
02.04.2019
16:15:47
Окей. Они же в доках прямо пишут заявленную точность.
покажи где написано про заявленную точность expired-нотификаций

Марк
02.04.2019
16:17:23


LighteR
02.04.2019
16:17:36
это про получение ключа

как ты представляешь себе мгновенную реакцию на истечение ttl в хэш-таблице?

Марк
02.04.2019
16:20:27
Я не знаю, что у них под коробкой. В редиске. Может там какие-нибудь таймеры

Google
LighteR
02.04.2019
16:21:58
Я не знаю, что у них под коробкой. В редиске. Может там какие-нибудь таймеры
В общем, ты пытаешься применять инструмент для того для чего он не предназначен, и необоснованно негодуешь почему он не работает так как ты ожидаешь

это не проблема редиса, а проблема того, что ты не понимаешь как он работает

LighteR
02.04.2019
16:26:21
Зачем тогда они сделали сабскрайбы?
для подписки на события. И события действительно отправляются. Но применительно к ttl они явно говорят каким образом эти ключи инвалидируются и соответсвенно только в этот момент срабатывает event

@MarkEgorov https://redis.io/commands/expire#how-redis-expires-keys

LighteR
02.04.2019
16:30:23
Ага. И еще неоч прямо за точность отвечает параметр hz.
а где я это говорил? Да, при увеличении hz редис начинает чаще вычищать expired ключи, но это все равно не дает никаких гарантий. Ты же понимаешь что результат зависит от кол-ва ключей с ttl?

если ты задрал hz до 100 и при твоих 1000 ключах все ок, то это не значит, что когда ключей станет 1кк все будет работать так как ты ожидаешь

это не изначально нерабочая схема, и редис для этого не предназначен

Марк
02.04.2019
16:31:48
а где я это говорил? Да, при увеличении hz редис начинает чаще вычищать expired ключи, но это все равно не дает никаких гарантий. Ты же понимаешь что результат зависит от кол-ва ключей с ttl?
А я выше писал, что у меня изначально ttl ключей много не будет. Это не сессии пользователей. И уж с соточкой-другой редиска должна справится.

Tishka17
02.04.2019
16:32:08
Я не знаю, что у них под коробкой. В редиске. Может там какие-нибудь таймеры
Я же кинул ссылку. "Между истечением таймаута и нотификацией может быть огромная задержка"

tabellarium
02.04.2019
16:33:10
Как в sublime3 сделать подсветку модулей с библиотек?

LighteR
02.04.2019
16:34:18
А я выше писал, что у меня изначально ttl ключей много не будет. Это не сессии пользователей. И уж с соточкой-другой редиска должна справится.
Вообще тут можно говорить только о вероятности. Может сработать быстро, а может и нет. Это зависит от того какие рандомные ключи редис выберет для проверки

Test 20 random keys from the set of keys with an associated expire.

Марк
02.04.2019
16:35:16
Вообще тут можно говорить только о вероятности. Может сработать быстро, а может и нет. Это зависит от того какие рандомные ключи редис выберет для проверки
Задержка в пять секунд приемлема. Неприемлема в минуту. Пока посмотрю. Вроде полет ровный, почти секунда в секунду.

LighteR
02.04.2019
16:35:55
Test 20 random keys from the set of keys with an associated expire.
если в этих 20 рандомных ключах будет меньше 5 expired, то придется ждать следующий цикл, который запустится через 1/hz секунд

Марк
02.04.2019
16:39:51
Тогда зачем тебе вообще эти уведомления?
Мне надо некое внешнее кей валуе, которое гарантированно вернет нотификацию, что ключу хана. Ну или через get.

Tishka17
02.04.2019
16:40:12
Ну через гет тебе редис стопудово вернет

А зачем нотификация?

Google
LighteR
02.04.2019
16:40:23
В общем не надо так делать. Гарантий никаких, это вообще не масштабируется на большее количество ключей, увеличивает нагрузку на cpu

Tishka17
02.04.2019
16:40:38
Какой кейс вообще

Марк
02.04.2019
16:40:40
А зачем нотификация?
Элегантно получается.

Tishka17
02.04.2019
16:41:58
Итого, тебе надо получать нотификации, если не было никаких действий с ключом N-секунд. Так?

Вообще много у тебя там операций записи?

Savva
02.04.2019
16:42:46


Марк
02.04.2019
16:43:16
Итого, тебе надо получать нотификации, если не было никаких действий с ключом N-секунд. Так?
Нет. Мне нужен срок жизни ключа. Дальше демон получает уведомление, генерирует пак событий - и рассылает их.

Tishka17
02.04.2019
16:44:09
Ты оперируешь опять ключами. Давай в терминах бизнес логики

Может есть решение

Чоблин

Чо

Все ещё не понятно, что значит "как переменную"

Приведи пример

Ну

Егор
02.04.2019
16:50:57
У вас проекты на хероку нормально пашут?

Александр
02.04.2019
16:55:29
Всем привет

Вопрос немного не по теме

Но, не могу скачать файл с ЯД

через curl

Через апи получил итоговую ссылку

Google
Александр
02.04.2019
16:56:15
Обращаюсь к ней curl -o ./FILE.FILE HTTP:…//../

Скачивается файл 32 б с содержимым HTTP 422 No parameter: filename

Tishka17
02.04.2019
16:57:31
Наверно randint надо числа передавать, а ты строки суешь

Александр
02.04.2019
16:58:13
А сам вывод curl таков: [1] 83057 [2] 83058 [3] 83059 [4] 83060 [5] 83061 [6] 83062 [7] 83063 [8] 83064 [9] 83065 [10] 83066 [2] Done filename=v3.efi [3] Done disposition=attachment [4] Done hash= [5] Done limit=0 [6] Done content_type=application%2Fx-dosexec [7] Done fsize=927424 [8] Done hid=f588265224c6eaa74b95ddc0159a6d5f [9] Done media_type=unknown [10]+ Done tknv=v2 MacBook-Pro-Alexandr:~ alexandr$ % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 32 0 32 0 0 165 0 --:--:-- --:--:-- --:--:-- 165

Tishka17
02.04.2019
16:58:28
Они у тебя и так переменные

Просто в них не числа, а строки

Страница 8601 из 9768