사용자에게 빠른 데이터 전송을 해주기 위해 캐싱을 적용하는데 이것을 도와주는 것이 Redis !!
Redis는 Remote Dictionary Server의 약자로, "key-value" 구조의 데이터를 저장하고 관리하는 비관계형 데이터베이스 관리 시스템입니다.
메모리에서 데이터를 처리하기 때문에 속도가 상당히 빠릅니다.
brew install redis
brew services start redis
npm i redis
const express = require('express');
const { get } = require('../../utils/cache');
const { findRequestingMembers } = require('../../controller/club/postController');
router.route('/members/request/:club_id')
.get(get)
.get(findRequestingMembers);
module.exports = router;
const { set } = require('../../utils/cache');
module.exports.findRequestingMembers = async (req,res) => {
...
const membersRequesting = await retrieveRequestingMembers(club_id)
if(membersRequesting.length < 1) {
return res.status(400).json({ message: "Any Members requesting doesn't exist. " })
} else {
set(req.originalUrl, items);
res.status(200).send({
ok: true,
data: items,
});
}
} catch (err) {
console.log("Err", err);
return res.status(500).send({
status : "error",
message : err.message,
})
}
};