Node, Express - Redis 캐시 유무에 관계없이 REST API 성능 테스트
"Redis는 데이터베이스, 캐시 및 메시지 브로커로 사용되는 오픈 소스(BSD 라이선스), 메모리 내 데이터 구조 저장소입니다."
자세한 내용은 링크Redis를 참조하십시오.
이제 샘플 REST API를 구축하고 Redis 통합 여부에 관계없이 테스트하고 있습니다.
코드 베이스 GITHUB 링크redisCache_nodejs_express_API
파일/폴더 구조.
우리는 테스트 목적으로 일부 외부 데이터 소스(API)를 사용하고 있습니다.
단편
function cacheMid(req,res,next){
var api = req.path;
client.get(api, function(err, data){
if (data != null) {
console.log("from Cache");
res.send(JSON.parse(data));
} else {
next();
}
})
}
function getAPI(req,res){
axios.get('http://datasource.kapsarc.org/api/datasets/1.0/search/?rows=500')
.then(function (response) {
var api = req.path;
var dataset = response.data;
client.setex(api, 50, JSON.stringify(dataset));
console.log("from API");
res.send(response.data);
})
.catch(function (error) {
console.log(error);
});
}
// Router
app.get('/getAPI',cacheMid, getAPI);
Postman에서/getAPI를 호출하면 cacheMid 미들웨어가 호출되고 매핑된 키를 확인합니다. 여기에서 'req.path'가 키입니다.
redis 데이터베이스에 키가 있는 데이터가 있으면 데이터를 반환하고 그렇지 않으면 외부 API를 차단하고 호출하고 json 데이터를 가져온 다음 redis 데이터베이스로 설정합니다.
성능 API 테스트
로컬호스트:4000/getAPI
Reference
이 문제에 관하여(Node, Express - Redis 캐시 유무에 관계없이 REST API 성능 테스트), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/srinivaskandukuri/node-express-rest-api-performance-test-with-without-redis-cache-cp7
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Node, Express - Redis 캐시 유무에 관계없이 REST API 성능 테스트), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/srinivaskandukuri/node-express-rest-api-performance-test-with-without-redis-cache-cp7텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)