반응형
Redis란?
Remote Dictionary Server의 약어인 Redis는 데이터베이스, 캐시, 메시지 브로커 및 대기열로 사용하는 빠르고 오픈 소스, 인 메모리 키-값 데이터 스토어이다. Redis는 캐싱, 세션 관리, 게임, 리더 보드, 실시간 분석, 지형 공간, 라이드 헤일링, 채팅/메시징, 미디어 스트리밍 및 게시/구독 앱에서 주로 사용된다.
설치
https://github.com/tporadowski/redis/releases -> 최신 버전 설치
다음 명령을 사용해 redis를 설치한다.
$ npm install ioredis
기본 사용 방법
const Redis = require("ioredis");
const redis = new Redis(); // uses defaults unless given configuration object
// ioredis supports all Redis commands:
redis.set("Key", "Value"); // returns promise which resolves to string, "OK"
// the format is: redis[SOME_REDIS_COMMAND_IN_LOWERCASE](ARGUMENTS_ARE_JOINED_INTO_COMMAND_STRING)
// the js: ` redis.set("mykey", "Hello") ` is equivalent to the cli: ` redis> SET mykey "Hello" `
// ioredis supports the node.js callback style
redis.get("Key", function (err, result) {
if (err) {
console.error(err);
} else {
console.log(result); // Promise resolves to "Value"
}
});
// Or ioredis returns a promise if the last argument isn't a function
redis.get("Key").then(function (result) {
console.log(result); // Prints "Value"
});
// Most responses are strings, or arrays of strings
redis.zadd("sortedSet", 1, "one", 2, "dos", 4, "quatro", 3, "three");
redis.zrange("sortedSet", 0, 2, "WITHSCORES").then((res) => console.log(res));
// Promise resolves to ["one", "1", "dos", "2", "three", "3"] as if the command was ` redis> ZRANGE sortedSet 0 2 WITHSCORES `
// All arguments are passed directly to the redis server:
redis.set("key", 100, "EX", 10);
Redis 연결하기
new Redis(); // Connect to 127.0.0.1:6379
new Redis(6380); // 127.0.0.1:6380
new Redis(6379, "192.168.1.1"); // 192.168.1.1:6379
new Redis("/tmp/redis.sock");
new Redis({
port: 6379, // Redis port
host: "127.0.0.1", // Redis host
family: 4, // 4 (IPv4) or 6 (IPv6)
password: "auth",
db: 0,
});
redis.windows-service.conf 설정
# redis 접속 암호
requirepass [비밀번호]
# redis db 파일 이름 (RDB 방식)
dbfilename [name.rdb] ex)redis-db.rdb
# RDB 파일 압축 여부
rdbcompression [yes or no]
# RDB 파일 체크섬 확인 여부
rdbchecksum [yes or no]
# RDB 파일 저장 장소
dir [URL]
반응형