Nodejs에 hset, hmset 데이터 저장하기
Hash 데이터타입
KEY
|_field1 : value1
|_field2 : value2
|_...
redis
모듈 사용시 다음 3가지 방식으로 Hash 타입 데이터를 넣을 수 있다.
client.HSET('key', {
field1: 'value1',
field2: 'value2'
});
client.HSET('key', ['field1', 'value1', 'field2', 'value2']);
client.HSET('key', [['field1', 'value1'], ['field2', 'value2']]);
키값과 필드 값으로 불러오는 방법
client.HMGET('key', ['field1', 'field2']);
예제 코드
편의를 위해 변수명은 간단한걸 사용
// redis.js
const CONFIG = require("../config/config");
const redis = require("redis");
// redis 연결 코드
module.exports = {
set: async (key, value, second) => {
// second가 있다면 set + expire 같이 설정
if (second) return await client.SETEX(key, second, value);
return await client.SET(key, value);
},
get: async (key) => {
return await client.GET(key);
},
hset: async (key, fieldAndValue, second) => {
/*
* ('key', { field1: 'value1', field2: 'value2'});
* ('key', ['field1', 'value1', 'field2', 'value2']);
* ('key', [['field1', 'value1'], ['field2', 'value2']]);
*/
await client.HSET(key, fieldAndValue);
if (second) await client.EXPIRE(key, second);
return;
},
hget: async (key, feild) => {
/*
* .HMGET('key', ['field1', 'field2']);
* .HGET('key', field);
*/
if (Array.isArray(feild)) {
return await client.HMGET(key, feild);
}
return await client.HGET(key, feild);
},
delete: async (key) => {
return await client.DEL(key);
},
};
const redis = require("redis.js");
// 값 넣기
await redis.hset("exampleKeyOne", {
email: "[email protected]",
nickname: "admin"
});
await redis.hset("exampleKeyTwo", [
"email", "[email protected]",
"nickname", "admin"
]);
await redis.hset("exampleKeyThree", [[
"email", "[email protected]"],[
"nickname", "admin"]
]);
// 값 불러오기
const one = await redis.hget("exampleKeyOne", ["email", "nickname"]);
console.log(one);
// [ '[email protected]', 'admin' ]
const two = await redis.hget("exampleKeyTwo", "email");
console.log(two);
// [email protected]
참고
https://github.com/redis/node-redis/issues/1746
Author And Source
이 문제에 관하여(Nodejs에 hset, hmset 데이터 저장하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@c1typ0p/node-redis-hset-hmset저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)