Node-redis: ΠŸΡ€ΠΈΠ²Π΅Ρ‚, Π΄ΠΎΠ±Ρ€ΠΎ ΠΏΠΎΠΆΠ°Π»ΠΎΠ²Π°Ρ‚ΡŒ Π² 2020 Π³ΠΎΠ΄. МоТСм Π»ΠΈ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ асинхронный Π½Π°Π±ΠΎΡ€ Redis Π±Π΅Π· использования Bluebird?

Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ Π½Π° 11 ΠΎΠΊΡ‚. 2019  Β·  10ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ  Β·  Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: NodeRedis/node-redis

Π”ΡƒΠΌΠ°ΡŽ, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ ΠΎΠ±ΠΎΠΉΡ‚ΠΈΡΡŒ Π±Π΅Π· синСй ΠΏΡ‚ΠΈΡ†Ρ‹.

Feature Request duplicate

Π‘Π°ΠΌΡ‹ΠΉ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π­Ρ‚ΠΎ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π΅ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ способ Π·Π°ΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ запрос Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ FOSS. Если Π²Ρ‹ Ρ‚Π°ΠΊ ΠΏΠΎΠ³Π»ΠΎΡ‰Π΅Π½Ρ‹ доступом ΠΊ этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π±Ρ‹ Π²Π°ΠΌ Π½Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²Π΅ΠΆΠ»ΠΈΠ²Ρ‹ΠΉ ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ поступок ΠΈ Π»ΠΈΠ±ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ PR с ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅, ΠΏΠΎ Π²Π°ΡˆΠ΅ΠΌΡƒ мнСнию, ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ сообщСству, Π»ΠΈΠ±ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ свой собствСнный ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Redis, Π»ΠΈΠ±ΠΎ ΠΏΠΎΡ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°ΡŽΡ‰ΠΈΠΌΠΈ. ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²Ρ‹ΡˆΠ΅ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»Π΅Π½Π½ΠΎΠ΅. ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ саркастичСского однострочного выпуска, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π²Ρ‹ просто ΠΆΠ°Π»ΡƒΠ΅Ρ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ всС обстоит Π½Π΅ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ Π²Ρ‹ Π΄ΡƒΠΌΠ°Π΅Ρ‚Π΅, Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ бСсполСзно ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈΠ²Π½ΠΎ для сообщСства ΠΈ ΠΏΠ»ΠΎΡ…ΠΎ отраТаСтся Π½Π° вас самих.

ВсС 10 ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π­Ρ‚ΠΎ Π΅Ρ‰Π΅ 2019 Π³ΠΎΠ΄.

ΠšΠ°ΠΆΠ΅Ρ‚ΡΡ, Π½Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ способа ввСсти опрСдСлСния Redis Π² машинописном тСкстС с Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΌΠΈ промисами (ΠΊΡ€ΠΎΠΌΠ΅ создания Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ). Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ я ΠΎΡ‡Π΅Π½ΡŒ надСюсь, Ρ‡Ρ‚ΠΎ для этого появится ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ :(

@ xtianus79 Π’Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ util.promisify , Π²Π΅Ρ€Π½ΠΎ?

По ΠΎΠ±Ρ‰Π΅ΠΌΡƒ ΠΏΡ€ΠΈΠ·Π½Π°Π½ΠΈΡŽ, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ это для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, Π° MULTI/EXEC... нСэлСгантСн с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния синтаксиса.

Π­Ρ‚ΠΎ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π΅ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ способ Π·Π°ΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ запрос Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ FOSS. Если Π²Ρ‹ Ρ‚Π°ΠΊ ΠΏΠΎΠ³Π»ΠΎΡ‰Π΅Π½Ρ‹ доступом ΠΊ этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π±Ρ‹ Π²Π°ΠΌ Π½Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²Π΅ΠΆΠ»ΠΈΠ²Ρ‹ΠΉ ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ поступок ΠΈ Π»ΠΈΠ±ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ PR с ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅, ΠΏΠΎ Π²Π°ΡˆΠ΅ΠΌΡƒ мнСнию, ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ сообщСству, Π»ΠΈΠ±ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ свой собствСнный ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Redis, Π»ΠΈΠ±ΠΎ ΠΏΠΎΡ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°ΡŽΡ‰ΠΈΠΌΠΈ. ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²Ρ‹ΡˆΠ΅ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»Π΅Π½Π½ΠΎΠ΅. ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ саркастичСского однострочного выпуска, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π²Ρ‹ просто ΠΆΠ°Π»ΡƒΠ΅Ρ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ всС обстоит Π½Π΅ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ Π²Ρ‹ Π΄ΡƒΠΌΠ°Π΅Ρ‚Π΅, Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ бСсполСзно ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈΠ²Π½ΠΎ для сообщСства ΠΈ ΠΏΠ»ΠΎΡ…ΠΎ отраТаСтся Π½Π° вас самих.

@BobbieBarker это Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹Ρ‚ΡŒ Π·Π°Π±Π°Π²Π½Ρ‹ΠΌ, Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ Π²Ρ€Π΅Π΄Π°!
И я Ρ‚ΠΎΠΆΠ΅, Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚Π΅, относится ΠΈ ΠΊ Π²Π°ΠΌ.

Π­Ρ‚ΠΎ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ?

const { promisify } = require('util');
const redis = require('redis');

let client = new Proxy(redis.createClient(), {
    get: (target, propKey, receiver) => {
        let asyncKey = typeof propKey === 'string' && propKey.endsWith('Async') && propKey.slice(0, -5);
        if (asyncKey) {
            return promisify(Reflect.get(target, asyncKey, receiver)).bind(receiver);
        }
        return Reflect.get(target, propKey, receiver);
    }
});

// use
client.setAsync('string key', 'val').then(res => {
    console.log(res);
});

Бпасибо @yi-huan, это Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, Π½ΠΎ это Π½Π΅ ΠΏΠΎΠ»Π½ΠΎΠ΅ ΠΎΠ±Π΅Ρ‰Π°Π½Π½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅.

@xtianus79 @Innomalist Π― написал ΠΊΠ»ΠΈΠ΅Π½Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΈΡ‰Π΅Ρ‚Π΅ - ΠΎΠ½ ΠΎΠ±Π΅Ρ€Ρ‚Ρ‹Π²Π°Π΅Ρ‚ эту Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ (Π΅Ρ‘ СдинствСнная Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ) ΠΈ добавляСт ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ промисов ΠΈ ΠΌΠ°ΡˆΠΈΠ½ΠΎΠΏΠΈΡΠ½Ρ‹Ρ… тСкстов: https://npmjs.com/package/handy-redis.

@mmkal Π΄Π΅Π»Π°Π΅Ρ‚ кластСры?

@BobbieBarker большоС спасибо Π·Π° ваши ΠΎΠ±Π΄ΡƒΠΌΠ°Π½Π½Ρ‹Π΅ слова!

Основная ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ этот ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ поддСрТиваСтся, ΠΈ это позволяСт ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ°Π»ΠΎ обслуТивания.

Π― Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽ это ΠΊΠ°ΠΊ Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚ # 864. На самом Π΄Π΅Π»Π΅ я Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ врСмя Π½Π°Π·Π°Π΄ Ρ€Π°Π±ΠΎΡ‚Π°Π» Π½Π°Π΄ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ, основанным Π½Π° промисах, Π½ΠΎ использованиС промисов Π² Ρ‚ΠΎΡ‚ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π±Ρ‹Π»ΠΎ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅, ΠΈ поэтому я Π½Π΅ ΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π» Π΅Π³ΠΎ. ПозТС я ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡŽ ΠΊΠΎΠ΄ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ.

Π‘Ρ‹Π»Π° Π»ΠΈ эта страница ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ?
0 / 5 - 0 Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΈ