반응형
redis 설치
2022.06.02 - [DATABASE] - [ DATABASE ] - Redis 사용
node.js에서 redis 사용하기 (with typescript)
npm install redis
1. redis 연결
import { createClient } from 'redis';
const pw = process.env.REDISPW as string;
// pw는 redis 설치후 설정한 password이다.
const client = createClient({
password: pw
});
client.on('error',(err: any)=> {
console.log('redis client error',err);
});
const client_connect = async () => {
await client.connect();
console.log('connected');
return;
};
2. 사용법
모듈화하여 사용하였다.
// key-value 설정
const key_string = async (name: string) => {
// await client.set('key', 'value');
await client.set('name', name);
}
// value 안에 문자열을 추가해줌
const add_string_value = async (name: string) => {
// await client.append('key', 'value');
await client.append('name', name);
}
const get_key_string = async (name: string) => {
// await client.get('key')
const value = await client.get(name);
console.log(value)
return value;
}
// 서버를 껏다가 켜도 이전에 저장해둔 기록이 남아있다.
// 장바구니 기능 등에 이용하면 좋을 듯 하다.
// key-set 설정 set 형식
const key_set = (name: string, values: string[]) => {
// await client.sAdd('key', 'value1', 'value2', 'value3', 'value4');
values.map(async (value)=>{
await client.sAdd(name, value)
})
}
const get_key_set = async(name: string) => {
// await client.sMembers('key')
console.log(await client.sMembers(name))
return await client.sMembers(name);
}
// key-hsah 형식 즉 객체 저장하는 설정
const key_hash = async () => {
await client.hSet('customers', 'number', '1');
await client.hSet('customers', 'info', 'man');
};
const get_key_hash = async () => {
const value = await client.hGetAll('customers');
console.log(value)
return value;
}
const get_key_hash_value = async () => {
const value = await client.hVals('customers');
console.log(value);
return value;
}
// multi
const use_multi = async () => {
const value = await client.set('another-key', 'another-value');
const [setKeyReply, otherKeyValue ] = await client
.multi()
.set('key','value')
.get('another-key')
.exec();
console.log(setKeyReply);
console.log(otherKeyValue);
}
const disconnecting = async () => {
await client.disconnect()
// await clinet.quit()
console.log('disconnected');
return
};
export { client_connect,
key_string,
add_string_value,
get_key_string,
key_set,
get_key_set,
key_hash,
get_key_hash,
get_key_hash_value,
use_multi,
disconnecting
}
출처
반응형
'DATABASE' 카테고리의 다른 글
[ mongodb ] - mongodb 비밀번호 까먹었을 때 (0) | 2022.12.04 |
---|---|
[ DATABASE ] - 워크벤치를 통해서 데이터 명세서 뽑아내기 (0) | 2022.06.08 |
[ DATABASE ] - Redis 사용 (0) | 2022.06.02 |