rediss๋ ์๋ชป๋ ๋ฐฉ๋ฒ์ ๋๋ค. ์๋ํ๋ฉด common์ด ํ๊ธฐ ๋๋ฌธ์ ๋๋ค.
๋ฉ์์ง๋ ์ค์ ๋ก ์ ๋ฐ์ดํธ๋์ด์ผ ํ์ง๋ง ์ด๋ป๊ฒ๋ ์๋ชป๋ ํ๋กํ ์ฝ์ ํต๊ณผํ ๊ฒ ๊ฐ์ต๋๋ค.
Redis.createClient()
์ ์ ๋ฌํ ๋ด์ฉ์ args๋ก ํ์ํ๊ณ (์ฌ์ฉ์ ์ด๋ฆ/์ํธ/๊ตฌ์ฒด URL ๊ต์ฒด) ๋ชจ๋ ํญ๋ชฉ์ node_redis์ ์ ๋ฌ๋ ๋๋ก ์ ํํ๊ฒ ์ ์งํ ์ ์์ต๋๊น?
๊ฐ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค. ๊ทธ๋ฌ๊ณ ๋์ rediss
๋ฅผ ํ๋กํ ์ฝ๋ก ํ์ฑํํ๋ ์ปค๋ฐ์ด ์์ง ๋ฆด๋ฆฌ์ค๋์ง ์์์์ ๊นจ๋ฌ์์ต๋๋ค. ์ต์ ๋ฒ์ ์ธ 2.8.0
์๋ ์์ง ์ด ์ปค๋ฐ์ด ์์ต๋๋ค. https://github.com/NodeRedis/node_redis/commit/5d6e471d0c14df39974000427719c5d85fa4f21f
์ ๋ฆด๋ฆฌ์ค๋ ์ธ์ ์ ๋๊น? ์ด ๊ธฐ๋ฅ์ด ํ์ํฉ๋๋ค.
@BridgeAR @stockholmux @Salakar ์น์ ํ ํ. ์ด ๊ฒฝ๊ณ ์ ๋ํ ์ ๋ฆด๋ฆฌ์ค๊ฐ ํ์ํ ์ ์์ต๋๋ค.
@Teamop ๋ถํํ๋ npm์ ๊ฒ์ํ ์ ์๋ ๊ถํ์ด ์์ต๋๋ค. @BridgeAR ๋ง ๊ฐ๋ฅํฉ๋๋ค.
๋๋์ด ๋ฌธ์ ์ ๋ถ๋ช์ณค๋ค. ์จ๋ผ์ธ repo๋ฅผ ๋ณด๋ฉด rediss๋ฅผ ์ํ statement ๋ธ๋ก์ด ๋ณด์
๋๋ค.
https://github.com/NodeRedis/node_redis/blob/23ef1e7afadd6022526860d22ac0a7f78495106d/lib/createClient.js#L34
๊ทธ๋ฌ๋ ์ค์ node_modules ํด๋๋ฅผ ๊ฒ์ฌํ๋ฉด ๋ฒ์ ์ด 2.8์ด๋ผ๊ณ ํ์๋์ง๋ง createClient ํ์ผ์๋ ํด๋น rediss ๋ฌธ ๋ธ๋ก์ด ์์ต๋๋ค. rediss if ๋ฌธ์ ๋ก์ปฌ ๋
ธ๋ ๋ชจ๋์ ๋ถ์ฌ๋ฃ์ด ๋ก์ปฌ๋ก ์์ ํ๊ณ ์๋ํ์ต๋๋ค. ๋ฐฐํฌ ๋ฒ์ ์ด ๋ฆฌํฌ์งํ ๋ฆฌ์ ์จ๋ผ์ธ์ผ๋ก ํ์๋ ๊ฒ๊ณผ ์ด๋ป๊ฒ ๋ค๋ฅธ์ง ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.
์ฃ์กํฉ๋๋ค. TLS ์ง์์ด ๋ง์คํฐ์ ์ถ๊ฐ๋๊ธฐ ์ ์ 2.8.0์ด 2018๋ ์ด ์๋ 2017๋ ์ ์ถ์๋์๋ค๋ ๊ฒ์ ๋ฐฉ๊ธ ๊นจ๋ฌ์์ต๋๋ค.
TLS ์ง์์ ์ฌ์ฉํ๋ ๋ฐ ์ค์ํ ๊ฐ์น๊ฐ ์์ต๋๊น?
์ ๋ ์ค๋ ๊ทธ๊ฒ์ ๊ฐ๊ณ ์ถ์ต๋๋ค. ์ํธํ๋ ์ธ์ฆ AWS ElasticCache์ ๋ํํ ์ ์๊ฒ ํด ์ค ๊ฒ์ ๋๋ค.
@jasonamyers ์ด ๋ฌธ์ ์ ๋ํด https://github.com/luin/ioredis ์์ ๋ ๋ง์ ์ฑ๊ณต์ ๊ฑฐ๋์ง๋ง ์ ์ฅ ์ ์ํธํ, ์ ์ก ์ํธํ ๋ฐ ์ํธ๊ฐ ํฌํจ๋ ์บ์ ํด๋ฌ์คํฐ ์ค์ ์ด ํ์ํฉ๋๋ค. API๋ ๋น์ทํฉ๋๋ค.
์๋ ํ์ธ์, ์ด๊ฒ์ด ๋ง์คํฐ์ ๋ค์ด๊ฐ๊ณ ๋ฆด๋ฆฌ์ค ๋ ๋ ์กฐ์ธ์ ๋ถํ๋๋ฆด ์ ์์ต๋๊น? ์ด ๋ฌธ์ ๊ฐ ์๊ณ node_module์์ createClient.js๋ฅผ ์๋์ผ๋ก ๋ฎ์ด์จ์ผ ํ์ต๋๋ค. ์ด ๋ฌธ์ ๊ฐ ์ด๋ฆฐ ์ง 1๋ ์ด ๋์์ต๋๋ค. ์ด๊ฒ์ ํธ์ํ๊ณ TLS๋ฅผ ํ์ฉํ ์ ์์ต๋๊น?
ํ์ฌ ์ด ์น์ ์
if (parsed.protocol && parsed.protocol !== 'redis:') {
console.warn('node_redis: WARNING: You passed "' + parsed.protocol.substring(0, parsed.protocol.length - 1) + '" as protocol instead of the "redis" protocol!');
}
๋ก ๋์ฒดํด์ผ ํฉ๋๋ค
if (parsed.protocol === 'rediss:') {
options.tls = options.tls || {};
} else if (parsed.protocol !== 'redis:') {
console.warn('node_redis: WARNING: You passed "' + parsed.protocol.substring(0, parsed.protocol.length - 1) + '" as protocol instead of the "redis" protocol!');
}
rediss:// ์ง์์ ๋ฐ๊ธฐ ์ํด createClient.js์์ ๋๋ ์๋์ ๊ฐ์ด ๋ค๋ฅธ ๋ฐฉ๋ฒ์ ์๋ํ ์ ์์ต๋๋ค.
var redis = require("redis");
var client = redis.createClient("redis://:password<strong i="13">@host</strong>:port", {tls:{}});
tls๋ฅผ ๋น ๊ฐ์ฒด๋ก ์ ๋ฌํ๋ฉด ๋ด redis ํด๋ผ์ด์ธํธ๊ฐ ๋ฌธ์ ์์ด ์ฐ๊ฒฐ๋์์ต๋๋ค.
@scriptonian ๋ํ createClient.js์์ ์๋ ๋ฎ์ด์ฐ๊ธฐ๋ฅผ ๋ฐฉ์งํ์ฌ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํด์ผ ํฉ๋๋ค.
์ฐธ๊ณ :
๋ด ๋๊ธ ์คํ์ผ์ด ์ด์ํ๋ฉด ๋์๊ฒ ์๋ ค์ฃผ์ธ์. ๋๋ github์์ ์ฒ์์
๋๋ค. :)
venkatesh ๊ฐ์ฌํฉ๋๋ค. ์, coguy450์ด ์๊ฒฌ์์ ์ ์ํ ๋๋ก ์ด๋ฏธ ๋ณ๊ฒฝํ์ต๋๋ค. ํ์ง๋ง ํ์ด ์ด๊ฒ์ ์ ๋ฐ์ดํธํ์ง ์์ ๊ฒ์ ๋๋์ต๋๋ค. 1๋ ์ด ๋์์ต๋๋ค!
+1
์ด ์์ ์ฌํญ๊ณผ ํจ๊ป ์ ๋ฒ์ ์ด ์ ๊ณต๋ฉ๋๊น?
๋๊ตฐ๊ฐ rediss:// url์ ์ง์ํ๊ธฐ ์ํด pull ์์ฒญ์ ํ๊ณ ์ถ์ต๋๊น?
@venkatesh-nadar ๐ ?
@peterpoliwoda ์ด๋ฏธ ๋ง์คํฐ ๋ธ๋์น์ ์ถ๊ฐ๋๋ฏ... ๐
ํ ... ์, ์ ์ฅ์์ ์์ง๋ง npm์ ์์ ์ฌํญ๊ณผ ํจ๊ป ์ค์น๋์ง ์์ต๋๋ค. ๋ฒ์ ๋ฒํธ๋ ๋ณ๊ฒฝ๋์ง ์์์ผ๋ฏ๋ก 'npm install'์ ์์นด์ด๋ธ์ ์ด์ tarball์ด ์๋ ๊ฒ์ฒ๋ผ ์ด์ ๋น๋๋ฅผ ์ ์งํฉ๋๋ค.
Github์์ ์ง์ ์ค์นํ์ฌ ์๋ํ๋๋ก ํ์ต๋๋ค.
'''
npm ์ค์น https://github.com/NodeRedis/node_redis
'''
@venkatesh-nadar ๊ฐ์ฌํฉ๋๋ค!
@BridgeAR npm์์ ์ ๋ฆด๋ฆฌ์ค๋ฅผ ์ป์ ์ ์์ต๋๊น?
์ง๋ ๋ช ๋ ๋์ npm ๊ฒ์ ์ก์ธ์ค๋ฅผ ์์ฒญํ๋ @BridgeAR ์ ์ฌ๋ฌ ๋ฒ ์ฐ๋ฝํ์ง๋ง ๊ทธ์ ๋ํด ๋ฃ์ง ๋ชปํ์ต๋๋ค. ๋๋ ๊ทธ๊ฐ Node.js ์์ ์ผ๋ก ๋ฐ์๋ค๋ ๊ฒ์ ์๊ณ ์์ต๋๋ค. ์ด๊ฒ์ด ์๋ง๋ ์ด ๋ฆฌํฌ์งํ ๋ฆฌ๊ฐ ๋ฌด์๋๊ณ ์๋ ์ด์ ์ผ ๊ฒ์ ๋๋ค.
https://github.com/NodeRedis/node_redis/issues/1040#issuecomment -581418899์์ repo ๋ฏธ๋์ ๋ํด ๋ ผ์ํฉ์๋ค.
์๋ ํ์ธ์ ์ฌ๋ฌ๋ถ, ์ ๋ ์์ ์ ์ง ๊ด๋ฆฌ์๋ฅผ ๋งก์๊ณ ์ด์ ํ์ํ ๋ชจ๋ ์ก์ธ์ค ๊ถํ์ ์ป์์ต๋๋ค ๐
์ง๋ ๋ฉฐ์น ๋์ ๋ฆด๋ฆฌ์ค๋ฅผ ์ํ ๋ง์คํฐ ์ค๋น๋ฅผ ํ์ผ๋ฉฐ ๋ช ๋ถ ์ NPM์ v3.0.0์ ๊ฒ์ํ์ต๋๋ค. https://github.com/NodeRedis/node-redis/releases/tag/v3.0.0 - ์ด ๋ณ๊ฒฝ ์ฌํญ์ ํฌํจํฉ๋๋ค.
์ ๊ธฐ ๋ฆด๋ฆฌ์ค๋ฅผ ๊ธฐ๋ํ์ญ์์ค - ํ์ฌ ๋์ ์ต์ฐ์ ๊ณผ์ ๋ ํ๋ก์ ํธ๊ฐ ์ด์ ์๊ณ ๊ณ์ํด์ ์ฑ์ฅํ๊ณ ํ ์ฌ๋์ ์๊ฐ์ ์ํด ๋ฐฉํด๋ฐ์ง ์๋๋ก ์ด ํ๋ก์ ํธ๋ฅผ ๊ธฐ์ฌ์ ์นํ์ ์ผ๋ก ๋ง๋๋ ๊ฒ์ ๋๋ค. ์ด๋ ๊ฒ ํ๊ธฐ ์ํด ๋ ๋ง์ ์์ ๊ธฐ์ฌ์๋ค์ ํค์ฐ๊ณ ์ถ์ต๋๋ค. ์ด๋ฅผ ํตํด ์ ๋ฐ์ดํธ๊ฐ ํ์ํ ํ๋ก์ ํธ์ ์ด์ ๋ฌธ์ ๋ฅผ ์ํํ๊ธฐ๋ฅผ ํฌ๋งํ์ง๋ง ์ ๋ฐ์ดํธํ ๊ถํ์ด ์๋ ์ฌ๋์ด ์์ต๋๋ค. ๋๋ ์ด๊ฒ์ ๋ํด ๋ค์์ ํตํด ์ผํ๊ณ ์์ต๋๋ค.
Sponsor
๋ฒํผ์ด ์๋ ๊ฒ์ ์ ์ ์์ ๊ฒ์
๋๋ค. ์ ๋ ๋ํ ๋ฏธ๋ ๊ธฐ์ฌ์๋ฅผ ์ํด ์์ํ๋ ๋ฐ ๋์์ ์ฃผ๊ธฐ ์ํด ์ง์ ํ์ํ๊ณ ํ์ฌ๋ฅผ ํตํด ํ์ํ์ต๋๋ค.๊ทธ ํ์๋ Node Redis ์ฝ๋๋ฒ ์ด์ค์์ ํ๋ํ(์: ์ฝ์) ๋ฐ ๊ธฐ์ ์ ๋ถ์ฑ ์ฒญ์ฐ์ผ๋ก ๊ด์ฌ์ ์ ํํ ๊ฒ์ ๋๋ค. @BridgeAR ์ ์ด๋ฏธ ์ด๋ฅผ ์ํด ๋ง์ ์์ ์ ์ํํ์ต๋๋ค. ๊ถ๊ธํ ์ ์ด ์์ผ๋ฉด WIP v4 ๋ถ๊ธฐ ์ ํด๋น ๋ณ๊ฒฝ ๋ก๊ทธ๋ฅผ ํ์ธํ์ธ์.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์๋ ํ์ธ์ ์ฌ๋ฌ๋ถ, ์ ๋ ์์ ์ ์ง ๊ด๋ฆฌ์๋ฅผ ๋งก์๊ณ ์ด์ ํ์ํ ๋ชจ๋ ์ก์ธ์ค ๊ถํ์ ์ป์์ต๋๋ค ๐
์ง๋ ๋ฉฐ์น ๋์ ๋ฆด๋ฆฌ์ค๋ฅผ ์ํ ๋ง์คํฐ ์ค๋น๋ฅผ ํ์ผ๋ฉฐ ๋ช ๋ถ ์ NPM์ v3.0.0์ ๊ฒ์ํ์ต๋๋ค. https://github.com/NodeRedis/node-redis/releases/tag/v3.0.0 - ์ด ๋ณ๊ฒฝ ์ฌํญ์ ํฌํจํฉ๋๋ค.
์ ๊ธฐ ๋ฆด๋ฆฌ์ค๋ฅผ ๊ธฐ๋ํ์ญ์์ค - ํ์ฌ ๋์ ์ต์ฐ์ ๊ณผ์ ๋ ํ๋ก์ ํธ๊ฐ ์ด์ ์๊ณ ๊ณ์ํด์ ์ฑ์ฅํ๊ณ ํ ์ฌ๋์ ์๊ฐ์ ์ํด ๋ฐฉํด๋ฐ์ง ์๋๋ก ์ด ํ๋ก์ ํธ๋ฅผ ๊ธฐ์ฌ์ ์นํ์ ์ผ๋ก ๋ง๋๋ ๊ฒ์ ๋๋ค. ์ด๋ ๊ฒ ํ๊ธฐ ์ํด ๋ ๋ง์ ์์ ๊ธฐ์ฌ์๋ค์ ํค์ฐ๊ณ ์ถ์ต๋๋ค. ์ด๋ฅผ ํตํด ์ ๋ฐ์ดํธ๊ฐ ํ์ํ ํ๋ก์ ํธ์ ์ด์ ๋ฌธ์ ๋ฅผ ์ํํ๊ธฐ๋ฅผ ํฌ๋งํ์ง๋ง ์ ๋ฐ์ดํธํ ๊ถํ์ด ์๋ ์ฌ๋์ด ์์ต๋๋ค. ๋๋ ์ด๊ฒ์ ๋ํด ๋ค์์ ํตํด ์ผํ๊ณ ์์ต๋๋ค.
Sponsor
๋ฒํผ์ด ์๋ ๊ฒ์ ์ ์ ์์ ๊ฒ์ ๋๋ค. ์ ๋ ๋ํ ๋ฏธ๋ ๊ธฐ์ฌ์๋ฅผ ์ํด ์์ํ๋ ๋ฐ ๋์์ ์ฃผ๊ธฐ ์ํด ์ง์ ํ์ํ๊ณ ํ์ฌ๋ฅผ ํตํด ํ์ํ์ต๋๋ค.๊ทธ ํ์๋ Node Redis ์ฝ๋๋ฒ ์ด์ค์์ ํ๋ํ(์: ์ฝ์) ๋ฐ ๊ธฐ์ ์ ๋ถ์ฑ ์ฒญ์ฐ์ผ๋ก ๊ด์ฌ์ ์ ํํ ๊ฒ์ ๋๋ค. @BridgeAR ์ ์ด๋ฏธ ์ด๋ฅผ ์ํด ๋ง์ ์์ ์ ์ํํ์ต๋๋ค. ๊ถ๊ธํ ์ ์ด ์์ผ๋ฉด WIP v4 ๋ถ๊ธฐ ์ ํด๋น ๋ณ๊ฒฝ ๋ก๊ทธ๋ฅผ ํ์ธํ์ธ์.