μ΄ μ½λλ μ€ν μ€μΈ λ‘컬 μλ²κ° μμ΄λ μ€λ₯ μμ΄ μ€νλ©λλ€. μ¬λ°λ₯Έ νλμ λκΉ μλλ©΄ λ²κ·Έμ λκΉ?
const redis = require('redis')
const redisClient = redis.createClient({ retry_strategy: () => 1000 })
@mikhailsidorov - κΈ°λ³Έ μ΅μ μ΄ κ°κ° 'localhost' λ° 6379 μ΄λ―λ‘ λ§μ΅λλ€.
μ, νμ§λ§ μ€ν μ€μΈ λ‘컬 Redis μλ²κ° μλ€λ λ§μμ΄μ κ°μ? ννν
μ΄μ κ·Έκ²μ μμ²λκ² μ΄μν κ²μ
λλ€.
λλ λΉμ μ΄ μ¬μ ν Redis μΈμ€ν΄μ€λ₯Ό μ€ννκ³ μλ€λ κ²μ 보μ₯ν©λλ€... λΉμ μ 리λ μ€ λͺ λ Ήμ€ μ½μλ‘ μ΄λνμμμ€.
μ€ν μ€μΈ λͺ¨λ Redis μΈμ€ν΄μ€ 보기
ps -aux | grep redis-server
λͺ¨λ Redis μΈμ€ν΄μ€ μ’
λ£
killall redis-server
ν°μΌμ λ«μΌμκ² μ΅λκΉ?
λλ redisμμ΄ dockerμμ μ€ννμ΅λλ€. λ€μ νμΈνκ² μ΅λλ€.
Redisλ μ΄λκ°μμ μ€ν μ€μ΄μ΄μΌ νλ©° λ΄ νκ²½μμ μλνκ³ /etc/init.d/redis-server stop
. μ²μμλ λΉμ μ΄ μΈκΈ νλλ‘ μ ννκ² μνλμ΄ λΉν©νμ΅λλ€! κ·Έλ° λ€μ ps -aux | grep redis-server
λ₯Ό μ€ννλλ° λ°±κ·ΈλΌμ΄λμμ 7κ°μ Redis μΈμ€ν΄μ€κ° μ€νλκ³ μλ€λ κ²μ μμμ΅λλ€. lol. λͺ¨λ μ’
λ£ν ν λ
Έλ redisλ μμλλ‘ μ¦μ μ€λ₯κ° λ°μνμ΅λλ€.
@mikhailsidorov - κΈ°λ³Έ μ΅μ μ΄ κ°κ° 'localhost' λ° 6379 μ΄λ―λ‘ λ§μ΅λλ€.
μ, νμ§λ§ μ€ν μ€μΈ λ‘컬 Redis μλ²κ° μλ€λ λ§μμ΄μ κ°μ? ννν
μ΄μ κ·Έκ²μ μμ²λκ² μ΄μν κ²μ λλ€.λλ λΉμ μ΄ μ¬μ ν Redis μΈμ€ν΄μ€λ₯Ό μ€ννκ³ μλ€λ κ²μ 보μ₯ν©λλ€... λΉμ μ 리λ μ€ λͺ λ Ήμ€ μ½μλ‘ μ΄λνμμμ€.
μ€ν μ€μΈ λͺ¨λ Redis μΈμ€ν΄μ€ 보기
ps -aux | grep redis-server
λͺ¨λ Redis μΈμ€ν΄μ€ μ’ λ£
killall redis-server
ν°μΌμ λ«μΌμκ² μ΅λκΉ?
λ΄ μ»΄ν¨ν°μ λ컀 컨ν
μ΄λμ redis-server νλ‘μΈμ€κ° μμ΅λλ€. λν 6379 ν¬νΈλ₯Ό μμ νλ νλ‘μΈμ€κ° μμ΅λλ€( netstat -an | grep 6379
λ μ무 κ²λ λ°ννμ§ μμ).
Redisλ μ΄λκ°μμ μ€ν μ€μ΄μ΄μΌ νλ©° λ΄ νκ²½μμ μλνκ³
/etc/init.d/redis-server stop
. μ²μμλ λΉμ μ΄ μΈκΈ νλλ‘ μ ννκ² μνλμ΄ λΉν©νμ΅λλ€! κ·Έλ° λ€μps -aux | grep redis-server
λ₯Ό μ€ννλλ° λ°±κ·ΈλΌμ΄λμμ 7κ°μ Redis μΈμ€ν΄μ€κ° μ€νλκ³ μλ€λ κ²μ μμμ΅λλ€. lol. λͺ¨λ μ’ λ£ν ν λ Έλ redisλ μμλλ‘ μ¦μ μ€λ₯κ° λ°μνμ΅λλ€.
redis-server μ€ν μ€μΈ νλ‘μΈμ€λ₯Ό μ°Ύμ§ λͺ»νμ΅λλ€.
λ¬Έμ λ₯Ό μ¬ννκΈ° μν μμ λ₯Ό μ€λΉνμ΅λλ€. https://github.com/mikhailsidorov/redis-issue 리ν¬μ§ν 리λ₯Ό
μ΄ μ½λλ μ€λ₯ μμ΄ μ€νλλ©° ν
μ€νΈλ μμ€ν
κ³Ό λ컀 컨ν
μ΄λμμ redis-server νλ‘μΈμ€κ° μ€νλμ§ μμμ΅λλ€.
νΉμ redis-mock λλ μ΄μ μ μ¬ν κ²μ μ€ννκ³ μμ΅λκΉ? (μμ¬, κ·Έλ₯ νμΈ...)
https://github.com/faeldt/redis-mock
λ€μμ Redisλ₯Ό λκ³ λ΄ μ±μ μ€νν λ λ°λ μ€λ₯μ λλ€...(μ΄κ²μ μ 곡ν λ컀 μ±μ΄ μλλλ€.) λ컀λ₯Ό μ€μ ν΄μΌ ν©λλ€. μμ§ λ컀λ₯Ό μ¬μ©νμ§ μκ³ μμ΅λλ€. μκ°μ λ§μΆ°μΌ ν©λλ€. μ‘°κΈ μλ€κ° ν΄λ΄μΌμ§....
Error: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED 127.0.0.1:6379
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1054:14)
Emitted 'error' event at:
at RedisClient.on_error (/mnt/c/indospace.io/services/node_modules/redis/index.js:406:14)
at Socket.<anonymous> (/mnt/c/indospace.io/services/node_modules/redis/index.js:279:14)
at Socket.emit (events.js:196:13)
at emitErrorNT (internal/streams/destroy.js:91:8)
at emitErrorAndCloseNT (internal/streams/destroy.js:59:3)
at processTicksAndRejections (internal/process/task_queues.js:84:17)
νΉμ redis-mock λλ μ΄μ μ μ¬ν κ²μ μ€ννκ³ μμ΅λκΉ? (μμ¬, κ·Έλ₯ νμΈ...)
https://github.com/faeldt/redis-mockλ€μμ Redisλ₯Ό λκ³ λ΄ μ±μ μ€νν λ λ°λ μ€λ₯μ λλ€...(μ΄κ²μ μ 곡ν λ컀 μ±μ΄ μλλλ€.) λ컀λ₯Ό μ€μ ν΄μΌ ν©λλ€. μμ§ λ컀λ₯Ό μ¬μ©νμ§ μκ³ μμ΅λλ€. μκ°μ λ§μΆ°μΌ ν©λλ€. μ‘°κΈ μλ€κ° ν΄λ΄μΌμ§....
Error: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED 127.0.0.1:6379 at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1054:14) Emitted 'error' event at: at RedisClient.on_error (/mnt/c/indospace.io/services/node_modules/redis/index.js:406:14) at Socket.<anonymous> (/mnt/c/indospace.io/services/node_modules/redis/index.js:279:14) at Socket.emit (events.js:196:13) at emitErrorNT (internal/streams/destroy.js:91:8) at emitErrorAndCloseNT (internal/streams/destroy.js:59:3) at processTicksAndRejections (internal/process/task_queues.js:84:17)
μλμ, redis-mockμ μ¬μ©νμ§ μμ΅λλ€. μ΅μ
μμ΄ const redisClient = redis.createClient()
λ₯Ό μ€ννλ©΄ λμΌν μ€λ₯κ° λ°μνμ§λ§ { retry_strategy: () => 1000 }
μ λ¬νλ©΄ μ΄ λ¬Έμ κ° λ°μν©λλ€.
μ€ μ’μ, μ°λ¦¬κ° μ§κΈ κ°μ νμ΄μ§μ μλ€κ³ μκ°νμμμ€ ...
μ, node_redis μ¬μλ μ°κ²°/μ¬μ°κ²° μ½λκ° νμ¬ μμ ν μ€λ¨λ κ² κ°μ΅λλ€. μ΄λ¬ν λ¬Έμ λ₯Ό μΈκΈνλ λ§μ κ³΅κ° ν°μΌμ΄ μμ΅λλ€. μ€λ λ°€ λ€λ₯Έ nodeJS λͺ¨λμ λν PR μμ²μ μ μΆνμ΅λλ€. μ΄μ λν΄ μμΈν μμλ³΄κ³ κ°λ₯ν κ²½μ° μ ν¨ν PRμ μ μΆνλ €κ³ ν©λλ€.
μ€ μ’μ, μ°λ¦¬κ° μ§κΈ κ°μ νμ΄μ§μ μλ€κ³ μκ°νμμμ€ ...
μ, node_redis μ¬μλ μ°κ²°/μ¬μ°κ²° μ½λκ° νμ¬ μμ ν μ€λ¨λ κ² κ°μ΅λλ€. μ΄λ¬ν λ¬Έμ λ₯Ό μΈκΈνλ λ§μ κ³΅κ° ν°μΌμ΄ μμ΅λλ€. μ€λ λ°€ λ€λ₯Έ nodeJS λͺ¨λμ λν PR μμ²μ μ μΆνμ΅λλ€. μ΄μ λν΄ μμΈν μμλ³΄κ³ κ°λ₯ν κ²½μ° μ ν¨ν PRμ μ μΆνλ €κ³ ν©λλ€.
κ°μ¬ν©λλ€
μ΄κ²μ λ€μ μλμ μ
λλ€. connect_timeout
: Default is to try connecting until the default system socket timeout has been exceeded and to try reconnecting until 1h has elapsed.
.
μλλ λͺ¨λ μ¬μ°κ²° λ Όλ¦¬κ° μ¬μ©μμ μμ μλ λ§€μ° κ°λ ₯ν κΈ°λ₯μ κ°λ κ²μ λλ€. νμ μ΄μμ μ΄μ§λ μμ μλ μμ΅λλ€.
μ΄κ²μ λ€μ μλμ μ λλ€.
connect_timeout
:Default is to try connecting until the default system socket timeout has been exceeded and to try reconnecting until 1h has elapsed.
.μλλ λͺ¨λ μ¬μ°κ²° λ Όλ¦¬κ° μ¬μ©μμ μμ μλ λ§€μ° κ°λ ₯ν κΈ°λ₯μ κ°λ κ²μ λλ€. νμ μ΄μμ μ΄μ§λ μμ μλ μμ΅λλ€.
λͺ ννκ² ν΄ μ£Όμ μ κ°μ¬ν©λλ€.
@mikhailsidorov - λ¬Έμ λ₯Ό μ’ λ£νμκ² μ΅λκΉ?
@knoxcard μκ°μ΄ λ λ μ΄ λΆλΆμ λ€μ μ΄ν΄λ³Ό μ μλλ‘ μ΄μ΄λκ³ μΆμ΅λλ€.
@knoxcard κ·Έλ°λ° μ¬κΈ°μ λͺ κ°μ§ λ¬Έμ λ₯Ό
@BridgeAR - μ λμ μΌλ‘! μ΄λ»κ² λ λμμΌ νλμ?
@mikhailsidorov - λ¬Έμ λ₯Ό μ’ λ£νμκ² μ΅λκΉ?
λ¬Όλ‘ , νμν κ²½μ°μ λλ€. κ°μ¬ ν΄μ
@mikhailsidorov - λ¬Έμ λ₯Ό μ’ λ£νλ κ²μ μ κ²½μ°μ§ λ§μΈμ. BridgeArμ μ΄ λ¬Έμ λ₯Ό κ³μ μ΄μ΄λκ³ μΆμ΄ν©λλ€. κ°μ¬ν©λλ€!