티스토리 뷰
반응형
이전 글에서 Redis를 Node에 붙이는 방법을 보았다면 이번 글에서는 자료구조에 대해 설명하고자 합니다. 가장 먼저 String 에 대해 알아보겠습니다.
router.get('/string', async (req, res, next) => {
let name = ''
client.set('name', 'nyong')
client.get('name', (err, data) => {
console.log(data) // nyong
name = data
})
res.render(name)
})
다음으로는 키-해시를 살펴봅시다. 객체를 저장한다고 보면 되며 hmset으로 설정하고 hgetall로 가져옵니다.
router.get('/hash', async (req, res, next) => {
let obj
client.hmset('friends', 'name', 'nyong', 'age', 30)
client.hgetall('friends', (err, data) => {
console.log(data) // { name : 'nyong', age : 30 }
obj = data
})
res.json(data)
})
List 형태의 키-배열 구조로 이루어져 있으며 중복 데이터를 허용합니다. rpush는 JS의 push이며, lpush는 unshift와 비슷합니다. 가져올 때는 lrange 메소드를 사용하며, 0 과 -1은 시작과 끝 인덱스를 의미합니다.
router.get('/list', async (req, res, next) => {
let list = []
// list
client.rpush('fruits', 'apple', 'orange', 'pineapple')
client.lpush('fruits', 'banana', 'pear')
client.lrange('fruits', 0, -1, (err, arr) => {
console.log(arr) // ['pear', 'banana', 'apple', 'orange', 'apple']
list = arr
})
res.json(list)
})
Set 형태의 키-셋 구조로 이루어져있으며 배열과 비슷하지만 중복을 허용하지 않습니다. sadd로 set을 추가하고, smembers로 데이터를 가져옵니다.
router.get('/set', async (req, res, next) => {
let set
client.sadd('fruits', 'apple', 'orange', 'pear', 'banana', 'apple')
client.smembers('fruits', (err, set) => {
console.log(arr) // ['banana', 'apple', 'orange', 'pear'] // apple은 2개여서 중복제거
set = arr
})
res.send(set)
})
Sorted Set 형태의 키-정렬셋이며, 위와 다른 점은 순서를 정렬할 수 있습니다. zadd로 데이터를 set하고, zrange로 get합니다.
router.get('/sset', async (req, res, next) => {
let ss
client.zadd('fruits', 1, 'apple', 5, 'orange', 3, 'pear', 4, 'banana', 8, 'grape')
client.zrange('fruits', 0, -1, (err, set) => {
console.log(arr) // ['apple', 'pear', 'banana', 'orange', 'grape']
ss = arr
})
res.json(ss)
})
반응형
'Server' 카테고리의 다른 글
Socket.io 사용하여 채팅 구현하기 (0) | 2021.06.15 |
---|---|
CSV 파일의 한글 깨짐 수정하기 (0) | 2021.06.15 |
Redis와 Express Session 함께 사용하기 (0) | 2021.06.15 |
Node에 Redis 연결하기 (0) | 2021.06.15 |
다른 도메인간 쿠키 전송하기 (0) | 2021.06.14 |
Express Router 를 사용해서 파일 다운로드 만들기 (0) | 2021.06.14 |
댓글
공지사항