<Week 3 Assignment>
- Redis 에 간단한 명령을 추가해보기
- 받은내용을 그대로 다시 돌려주는 echo 명령을 만들기
- src/ 내부에 commands.* 로 되어있는 파일들을 참고하기
- redis-cli를 실행한 후 echo {영어이름} abc 해서 결과가 abc로 나오면 된다.
src/commands.def
먼저 commands.def 파일을 뜯어보면 상단부에 generate-command-cody.py 에서 코드가 자동생성 된다고 한다. 친절하게도, 내용을 건들지 말라고까지 적혀있다.
connection 그룹에 echo라는 명령어가 어떤 역할을 하는지 나타나있다. 새로운 명령어를 추가하면 echo 명령어 밑에 추가될 것 같다.
utils/generate-command-code.py
generate-command.py 에서 command를 생성하는 소스코드이다.
빨간색 밑줄친 부분을 보면 commands/ *.json 의 내용을 가져와 명령어를 만들어 내는것을 알 수 있다.
경로로 지정된 src/commands/echo.json 을 확인하고 echo + {영어이름} 의 형태로 .json 파일을 만들어주면 될 것 같다.
src/commands/echo.json, echojangho.json
echo 와 동일하게 작동하는 command 를 만들기 위해 echojangho.json 파일을 만들어주고 내용을 동일하게 복붙하면 된다.
기존 echo는 echoCommand 의 함수를 가져와서 사용한다. echojangho에서는 echoJangHoCommand를 정의해서 사용하자
해당 함수는 src/server.c 에 정의되어있다.
src/(server.c / server.h)
src 내부의 server.c 파일에 정의되어있는 echoCommand 와 동일하게 작동하는 echoJangHoCommand를 정의해주었다.
echojangho 가 echo 와 동일하게 작동하는지 redis 를 다시 컴파일 시켜보자
새롭게 정의한 echojangho 커맨드가 잘 작동하는것을볼 수 있다.
그럼, 다시 command.def으로 돌아가 echojangho가 알맞게 정의되어 있는지 다시한번 확인해보자
예상한대로, echo 밑에 echojangho가 정의되어 있는것을 확인해 볼 수 있다.
'Redis' 카테고리의 다른 글
[OSSCA Redis / 빅데이터 저장 및 분석을 위한 NoSQL & Redis] Part3 (0) | 2023.11.01 |
---|---|
[OSSCA Redis / 빅데이터 저장 및 분석을 위한 NoSQL & Redis] Part2 (1) | 2023.10.26 |
[OSSCA Redis / 빅데이터 저장 및 분석을 위한 NoSQL & Redis] Part1 (1) | 2023.10.24 |
[OSSCA Redis] Redis 오픈소스 컨트리뷰션 Week1, 2 (0) | 2023.10.15 |
[OSSCA Redis] Redis 오픈소스 컨트리뷰션 Week0 (5) | 2023.10.14 |