다른 언어들은 Redis 를 사용할경우 간단하게 패키지를 설치하거나 간단하게 라이브러리 추가로 바로바로 사용이 가능하나 C++ 의 경우는 번거로운 작업이 필요하여 정리하고자 여기에 기록하기로 함
Python 이나 Node 의 경우는 간단하게 패키지 설치로 바로 코드에서 포함하여 사용하거나 C#의 경우는 패키지 설치로 간단하게 한두줄로 바로 Redis에 접근 및 사용이 가능하다.
허나 C++ 에서는 그러한건 없는듯하고 대표적인 라이브러리를 사용하여 Cmake 를 통한 빌드후에 나온 파일들을 포함하여야 사용가능하다.
그중에 hiredis를 사용하여 C++에서 redis 를 사용하는 방법을 적어보려함
hiredis
- C언어로 작성된 Redis 데이터베이스 클라이언트 라이브러리로, 최소한의 redis만 제공
- Cmake 로 빌드 필요
- C++ 언어로 작성된 Redis 데이터베이스 클라이언트 라이브러리가 있음. redis-plus-plus
- C++ 로 작성된 라이브러리를 사용하기위해선 C언어로 작성된 hiredis가필요함
필요한것들
- cmake - https://cmake.org/download/
- hiredis - https://github.com/redis/hiredis
- hiredis-plus-plus - https://github.com/sewenew/redis-plus-plus#windows-support)
[cmake]
https://cmake.org/download/ 에서 msi 파일을 다운로드하여 설치한다.
(사용자의 OS환경등에 따라서 설치하는 파일은 알아서 받아서 사용)
다운받은 msi 파일을 설치하고 설치도중에 PATH 등록하는 항목은 꼭 체크해주도록하자.
[hiredis]
https://github.com/redis/hiredis 에서 Zip 압축파일을 다운받은 후에 압축을 풀어준다.
GitHub - redis/hiredis: Minimalistic C client for Redis >= 1.2
Minimalistic C client for Redis >= 1.2. Contribute to redis/hiredis development by creating an account on GitHub.
github.com
압축풀기를 하면 redis-master라는 폴더가 생성되고 여기에 압축파일들이 풀린다.
cmake 를 관리자 권한으로 실행한 후에 [Where is the source code] 에 다운받은 hiredis 압축 푼 폴더를 지정해준다.
1-1. [Where to build the binaries] 에는 빌드한 바이너리 파일이 생성될 폴더를 지정해준다.
1-2. [Where to build the binaries] 에 들어갈 폴더는 편한대로 새로 생성한후에 지정해주면된다 나같은경우에는 build라는 폴더를 생성하고 해당 위치로 지정해주었다.
1-3. 위의 설정들 마치게되면 하단의 [Configure] 를 클릭하면 configure 창이 뜨는데 설치한 환경을 지정하여주면된다.
1-4.그리고 위의 1-2번 항목 이미지의 가운데를 보면 각종 항목이 나오는데
[CMAKE_INSTALL_PREFIX] 에 빌드후에 생기는 라이브러리 파일들을 넣을 폴더를 지정해준다.
기본은 C:/Program Files/hiredis 로 나오는데 편한대로 지정하면된다.
[CMAKE_INSTALL_PREFIX] 로 지정한 폴더는 위의 [Where to build the Binaries] 에서 나온 코드를 빌드를 하게되면 라이브러리 파일들이 생성되는데 이 생성된 라이브러리들이 위치하게 될 폴더이다.
1-5. [Generate] 를 눌러 실행해준다. 위에 과정을 잘 따라왔다면 별 문제없이 진행될것이다.
1-6. 위의 [Where is the source code] 폴더에 hiredis.sln 솔루션을 연다. 또는 하단의 [Open Project] 를 클릭해도 된다.
1-7. [ALL_BUILD] 와 [INSTALL] 프로젝트를 Debug, Release 에서 빌드해준다.
1-8. 1-4 에서 [CMAKE_INSTALL_PREFIX] 에 지정한 폴더로 가서 해당폴더에있는 생성된 bin, include, lib 등 모든폴더들을 Redis를 적용할 프로젝트 디렉토리에 복사한다.
예) C:\Users\사용자\ProjectDir\Redis\
1-9. 프로젝트 속성 페이지에서 다음을 추가한다.
- [구성 속성] > [디버깅] > [환경] : PATH=$(ProjectDir)\bin;%PATH%;
- [구성 속성] > [C/C++] > [추가 포함 디렉터리] : $(ProjectDir)\include;
- [구성 속성] > [링커] > [일반] > [추가 라이브러리 디렉터리] : $(ProjectDir)\lib;
- [구성 속성] > [링커] > [입력] > [추가 종속성] : hiredis.lib;
1-10. 사용할 소스코드 상단에 #include <hiredis/hiredis.h>를 추가하고 redis 서버에 접근이 가능하다.
2. 이제 C++언어로 작성된 Redis 데이터베이스 클라이언트 라이브러리를 적용하려한다. 위에것을 그대로 사용해도 되지만 C++에 맞게 hiredis-plus-plus를 적용하려한다.
https://github.com/sewenew/redis-plus-plus#windows-support) 에서 받을 수 있다.
GitHub - sewenew/redis-plus-plus: Redis client written in C++
Redis client written in C++. Contribute to sewenew/redis-plus-plus development by creating an account on GitHub.
github.com
2-1. Cmake 과정은 위의 hiredis 과정과 비슷하다.
- [CMAKE_CINSTALL_PREFIX] : 빌드후에 생기는 라이브러리 저장할 폴더
- [HIREDIS_HEADER] : 위의 1-4에서 나온 include 디렉토리
- [HIREDIS_LIB] : 위의 1-4에서 나온 hiredis.lib파일
- [TEST_HIREDIS_LIB] : 위의 1-4에서 나온 hiredis.lib파일
- [hiredis_DIR] : 다운로드한 1의 hiredis-master 폴더
2-2. [CMAKE_CINSTALL_PREFIX] 에 입력한 경로에 [Generate] 하여 나온 항목들을 프로젝트에 1-8에서 복사한곳에 붙여넣기를 한다.
2-3. 사용할 소스코드 상단에 #include <sw/redis++/redis++.h> 를 추가하여 사용한다.
'C,C++' 카테고리의 다른 글
깊이탐색, 넓이탐색 (1) | 2024.10.29 |
---|---|
libboost_thread-vc143-mt-gd-x64-1_86.lib 파일을 열 수 없습니다. (0) | 2024.09.05 |
.vsconfig 파일 (0) | 2020.02.05 |
Window 문자셋 (0) | 2014.11.07 |
문자집합 변경 (0) | 2014.10.23 |