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

Мне нужна такая либа, где будет больше нативного редиса, то-есть

шоб было как можно меньше обертки от библиотеки и больше нативного редиса, что выбрать ?

18 ответов

21 просмотр

ioredis

Ruslan-Postoiuk Автор вопроса
Максим
ioredis

больше нативного редиса ?

Ruslan Postoiuk
больше нативного редиса ?

Попробуй с lua скриптами, есть такая штука dead lock, с помощью луа можно решить, одним запросом всё делать, вместо того чтобы делать несколько запросов к редис, полезная вещь

Aleksandr
Попробуй с lua скриптами, есть такая штука dead lo...

и как они вяжутся с бизнес логикой приложения?

Aleksandr
Не понял вопроса

ну запросы в редис через либу вяжутся с бизнес логикой а вот скрипт на Lua взамен их как будет вязаться с бизнес логикой на бизнес уровне? никак не правда ли?)

Антон Горбачёв
Это что бы потом дебажить было интереснее

а так же онбордить в проект и поддерживать проект

Anton K.
ну запросы в редис через либу вяжутся с бизнес лог...

redis.eval(` local key = tostring(KEYS[1]); local value = tostring(ARGV[1]); local oldValue = redis.call('GET', key); if (oldValue == false) then redis.call('SET', key, value); return {key, value}; else return {key, oldValue}; end `, {keys: keys, args: args} Это пример, можно разного придумать, к сожалению проекта того нет, в интернетах такое показывают

Anton K.
ну запросы в редис через либу вяжутся с бизнес лог...

Соврал, проект остался, короче там же разные типы данных в редисе, и не у всех есть все методы которые хотелось бы иметь, приходилось собирать из луа скриптов saddWithCount (key, value) { return this.client.evalAsync( [ local stored = redis.call("smembers", KEYS[1]), redis.call("sadd", KEYS[1], ARGV[1]), 'return stored' ].join(' \n '), 1, key, value ) } smembersDel (key) { return this.client.evalAsync( [ local stored = redis.call("smembers", KEYS[1]), redis.call("del", KEYS[1]), 'return stored' ].join(' \n '), 1, key ) }

Aleksandr
ответил чуть выше

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

Anton K.
ну ок можно но стоит ли оно того и насколько э...

ну там от типа к типу методы отличаются, где-то можно удалить по значению, где то нет допустим. вот saddWithCount почему написали, 2 пользователя из одного воркспейса делали одно и то же действие одновременно и счетчик который у нас получался был неверным

Aleksandr
ну там от типа к типу методы отличаются, где-то мо...

странный конечно выход из ситуации (если конечно я её правильно понял) но если вам помогло то что прислано выше то хорошо

Anton K.
странный конечно выход из ситуации (если конечно я...

ну как оказалось это был самый простой и безопасный)

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
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
Карта сайта