OSSCA/2024 (6) 썸네일형 리스트형 [OSSCA] OSSCA 체험형 마무리 프로젝트 진행 목표 및 과정멘토님께서 Redis라는 큰 오픈소스의 이슈를 해결하기에는 4주라는 기간은 너무 짧다고 판단하여서, 해당 기간 동안 Redis에 대한 학습에 집중하기로 결정하셨습니다. 우선, 프로젝트 시작 전에 2주 동안은 오픈소스 커뮤니티에서 제공하는 유튜브 강의를 시청하여 git에 대한 기본적인 이해를 정리하는 시간을 가졌습니다. Git은 협업 및 버전 관리를 위해 필수적인 도구이며, 오픈소스 프로젝트에 기여할 때 필수적인 요소입니다. 따라서, 기본적인 Git의 개념과 사용법을 숙지하고자 이러한 학습을 진행했습니다. 다음으로, 나머지 4주 동안은 Redis에 대한 깊은 학습에 집중하였습니다. 이 기간 동안에는 Redis의 주요 기능과 용도를 학습하고, 실제로 어떻게 사용되는지에 대한 심도 .. [OSSCA2024] Redis 자료구조 - 5주차 온라인 미팅 제가 공부한 내용을 정리하는 블로그입니다. 아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁레디스 내부에서 해시를 다루는 방법Redis에 주요 자료구조 이해server.c/initServer서버에 필요한 내용 초기화signal handler 설정signal(SIGHUP, SIG_IGN);signal(SIGPIPE, SIG_IGN);setupSignalHandlers();thread io => thread poolEvent Loop 설정server.el = aeCreateEventLoop(server.maxclients+CONFIG_FDSET_INCR); if (server.el == NULL) { serverLog(LL_WAR.. [OSSCA2024] 과제 4 해설 제가 공부한 내용을 정리하는 블로그입니다. 아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁과제 4 설명echo2 abc라고 보내면 abc가 응답이 아닌 echo2_abc가 응답으로 오도록bulk 단위Respv2 기준 하나의 명령을 나타내는 blockex) $4\r\npong\r\necho abc 라고 명령을 입력했을 때c → argc = 2 =>명령어의 길이c → argv[0] = “echo” => 첫번째 명령어c → argb[1] = “abc” => 두번째 명령어robj(server object)type: 4bit2^4 ⇒ 16개의 타입 가능encoding: 4bitlru: 24bitlru, lfu 쓸때 모두 사용.type + encodin.. [OSSCA2024] Redis 과제4 실패.. 제가 공부한 내용을 정리하는 블로그입니다. 아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁이번 과제는 지난 과제 3이였던 echo 명령을 개선하는 과제이다.이번 힌트는 sds 구조체 분석이다. 과제 3 세팅먼저 이전 과제 3번을 세팅하면이전 과제에서는 직접 command.def 파일에 정의했다면 json 파일을 통해 정의하는 방법으로 진행하겠다.src/commands 아래에 echo2.json 파일을 다음과 같이 생성한다. document와 함께 def 파일을 정의하기 위해 redis에서는 다음과 같이 json으로 빌드 시에 def 파일에 정의할 수 있도록 하였다.{ "ECHO2": { "summary": "Returns t.. [OSSCA2024] Cache - 2주차 온라인 미팅 제가 공부한 내용을 정리하는 블로그입니다. 아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁Cache 적용 후 Select Query 비교캐시는 얼마나 Hit 되는지가 중요한 요소SELECT는 캐시 Hit 이후 평균 시간이 급격하게 감소UPDATE는 캐시 Hit가 있을 수 없으므로 캐시 적용 전과 비슷.CPU 사용량서비스에 따라 다르지만 SELECT가 DB에 도착하지 않으므로(캐시를 사용하므로) CPU 사용량이 줄어듦.DB에 레플리카를 만들어서 SELECTWRITE에는 다른 트릭을 적용해서 CPU 사용량을 줄일 수 있음.💡 Performance Toolgatling, locust, 엥그라이드, jmeter가 존재. 최근에는 gatling, l.. [OSSCA2024] 3주차 Redis 과제 3번 해설 제가 공부한 내용을 정리하는 블로그입니다. 아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁2024년 4월 27일 온라인 강의 내용레디스의 echo 명령: 받은 내용 그대로 전달.set a 123/* * set a 123이라는 명령이 들어올 때.. * argv[0]: set * argv[1]: a * argv[2]: 123 * argc: 2 */Redis 실행 flowServerCommandArgServerCommandgenerate-command-code.py해당 파일에서 make_cmd를 자동적으로 만들어줌.comand_list에 들어가는 내용과 JSON을 읽어와서 명령어를 추가.Document와 함수를 한번에 처리하기 위해 JSON을 추가.. 이전 1 다음