티스토리 뷰
반응형
Redis는 캐시메모리에 저장되는 DB와 같은 자료구조로, 접근 속도가 많이 빠르지만 휘발성이기 때문에 메모리가 날라가게 되면 데이터도 같이 날라가는 특징을 가지고 있습니다. 노드에서 레디스를 사용하기 위해 npm i redis 명령어로 Redis를 설치합니다.
$ npm i redis
const redis = require('redis')
const client = redis.createClient()
설치가 되었으면 Redis의 정보를 커스텀할 수 있습니다. 이 정보는 나중에 .yml 파일 또는 .properties 파일에 보관하여 사용하는 방법이 더 좋습니다.
const redis = require('redis')
const redisInfo = {
host : '127.0.0.1',
port : 6379,
db : 0, // Redis에서 사용하는 DB 번호
password : '1234asdf'
}
const client = redis.createClient(redisInfo)
이제 화면과 연결을 해볼 차례입니다. get에 대한 샘플 소스는 아래에 있습니다.
// get
router.get('/', (req, res, next) => {
let username = ''
client.get('username', (err, result) => {
console.log(result)
username = result
})
res.json({ username })
})
set에 대한 샘플 소스입니다.
// set
router.post('/set', (req, res, next) => {
let params = req.params // { "username": 'nyong' }
let username = ''
client.set('username', params[username])
client.get('username', (err, result) => {
username = result
console.log(result)
})
res.json({ username })
})
delete에 대한 샘플 소스입니다.
// delete
router.delete('/del/:key', (req, res, next) => {
let params = req.params // { "key": 'username' }
client.delete(params.key)
res.send(req.params)
})
그리고 key의 존재 유무를 파악하는 것과 키값을 바꾸는 명령어입니다.
// exist
router.get('/exist/:key', (req, res, next) => {
let params = req.params // { key: 'username' }
client.exists(params.key) // true: 1 , false: 0
res.send(req.params)
})
// rename
router.put('/rename/:key', (req, res, next) => {
// from에서 to로 변경
let params = req.params // { from: 'username', to : 'name'}
// username이라는 키값이 있다면 그 값을 name으로 바꿈
client.rename(params.from, param.to)
res.status(201)
})
Redis에서 사용하는 자료구조는 여기 글에 있습니다!
반응형
'Server' 카테고리의 다른 글
CSV 파일의 한글 깨짐 수정하기 (0) | 2021.06.15 |
---|---|
Redis와 Express Session 함께 사용하기 (0) | 2021.06.15 |
Node js Redis 자료구조 (0) | 2021.06.15 |
다른 도메인간 쿠키 전송하기 (0) | 2021.06.14 |
Express Router 를 사용해서 파일 다운로드 만들기 (0) | 2021.06.14 |
Express cors 사용하기 (0) | 2021.06.14 |
댓글
공지사항