앞서, node js에 redis를 연동하는 방법 + 트러블 슈팅에 대해 포스팅을 했었다.
나는 GCP memorystore Redis ( = Cloud Redis)에 연결해야 했다.
하지만 연동 과정에서, 127.0.0.1 을 제외한 다른 host로 연결이 안 된다는 이슈가 발생했다.
나는 client configuration 문서를 통해, socket을 이용하면 해당 이슈를 해결할 수 있다는 것을 알아냈다.
node-redis 내 socket이란, 말 그대로 소켓 연결 속성을 정의할 수 있는 객체다.
따라서, 이 연결 방법을 통해 host & port(이 외에도 더 많은 연결 속성을 정의할 수 있음)를 설정할 수 있고, 패스워드는 해당 소켓옵션 외부에서 설정하면 커넥팅이 가능하다.
결론적으로, 내가 수정한 js 파일은 아래와 같다.
const redis = require('redis');
const client = redis.createClient({
socket: {
port: 6379,
host: '127.0.0.1'
},
password: 'mypassword'
});
async function run() {
await client.connect();
const value = await client.get("test-key");
console.log(value);
await client.disconnect();
};
run();
주요 코드를 설명하자면, 아래와 같다.
- const client : client 의 연결 속성을 정의
- 해당 연결속성 - host: 127.0.0.1 & port: 6379 & password: mypassword
- run 함수 생성 및 실행
- 함수 생성의 이유: client.connect()에 await을 부여하려면, async 내부에 작성해야 했기 때문
- run 함수 내 const value : test-key 로 저장해둔 key 값에 대한 value 반환
이를 진행하는 데에 있어, 참고한 문서는 다음과 같다.
아래 캡처한 부분의 빨간 박스를 참고하면 된다. (출처: 하기 링크)
링크: https://github.com/redis/node-redis/blob/HEAD/docs/client-configuration.md
'데이터 공부 > 데이터베이스 & SQL' 카테고리의 다른 글
MySQL 의 UPSERT 쿼리 (0) | 2022.09.01 |
---|---|
01. 신뢰할 수 있고 확장 가능하며, 유지보수하기 쉬운 애플리케이션 (4) | 2022.05.10 |
Redis - Node.js 연동 - ClientClosedError: The client is closed (1) | 2022.03.23 |
06. SQL - SubQuery 활용 방법 (A.K.A 4주차 수업 정리 (1)) (0) | 2021.09.23 |
08. 에러 해결 방법 Error running query: SELECT list expression references column _PARTITIONTIME which is neither grouped nor aggregated (0) | 2021.07.26 |