일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- standart template library
- Projetile
- 텍스쳐 스트리밍 풀
- 메이플스토리
- 포트폴리오
- houdini
- 4-legged Animal
- UE Vehicle
- standard template library
- Portfoilo
- web
- Animal IK
- database
- Unreal Engien
- redis
- ubuntu
- 개발일지
- Texture Streaming Pool
- oracle cloud
- unreal engine
- Hash Table
- STL
- red black tree
- Weapon Animation
- portfolio
- AI Perception
- inventory
- UE Interface
- UE4
- Zombie
- Today
- Total
블로그
[Web] Oracle Cloud를 활용한 Web Server 환경 구축 (4) - Redis in python 본문
이번엔 Database 서버의 redis를 python으로 제어하기 위한 환경을 구축해보자.
우선 pip설치가 필요하다.
sudo apt-get install python3-pip
pip 설치가 끝나면, redis 패키지를 설치하자.
pip install redis
python을 켜서 다음과같이 레디스를 연결한다. host에 redis가 있으므로 host="localhost"이고, 다른 서버에 있는 레디스를 불러오는 경우 redis가 있는 서버 주소를 입력하면 된다.
python3
>>> import redis
>>> rd = redis.StrictRedis(host="localhost", port=6379, db=0)
redis 연결 후 사용법은 다음과 같다.
- rd.set("key", "value") : "key"-"value" 추가
- rd.get("key") : "key"에 해당하는 "value" 반환
- rd.delete("key") : "key"에 해당하는 데이터 삭제
- rd.flushdb() : 데이터 전체삭제
한편, UTF-8 인코딩이 사용된 데이터의 경우, 인코딩/디코딩에 문제가 있어 json dumps()/loads()를 통해 데이터를 저장/읽기를 해야한다고 한다. 다음은 내가 참조한 사이트의 사용 예시인데, 아래 글을 보면 의문점이 좀 있었다(첫 datas 선언에 utf-8 문자를 넣지않아 재정의 했다..ㅋㅋ).
위 사진을 보면 중간에 datas 배열을 jsonDatas로 변환한 뒤 rd.get("data")했을 때 인코딩이 그대로 출력된 것이 보인다. 그래서 얻어온 데이터를 decode하는 과정이 있어야 데이터를 온전히 확인할 수 있다. 그런데 이 decode 이후에 json.loads()를 하는 코드가 이해되지 않는데, 왜냐하면 위에 디코딩되지 않은 result값을 그대로 json.loads() 호출할 때 써도 동일한 결과를 얻을 수 있기 때문이다.
추가로 dict 타입으로 명시적인 타입변환을 한 것도 이해되지 않는다. 사진을 보면 decode 직후 데이터는 str이지만, dict로 선언한 데이터, json.loads()로 얻은 데이터 모두 dict타입을 갖기 때문이다.
아무튼, 간단하게 python으로 redis사용하는 방법을 확인해봤다. 다음에는 웹 서버에서 데이터베이스 서버에 접속하여 데이터 교환하는 방법을 확인 및 테스트해볼 예정이다.
참고 레퍼런스
'프로그래밍 > Web' 카테고리의 다른 글
[Web] Oracle Cloud를 활용한 Web Server 환경 구축 (6) - PostgreSQL (0) | 2024.05.09 |
---|---|
[Web] Oracle Cloud를 활용한 Web Server 환경 구축 (5) - Java (0) | 2024.05.05 |
[Web] Oracle Cloud를 활용한 Web Server 환경 구축 (3) - DB Server (0) | 2024.04.29 |
[Web] Oracle Cloud를 활용한 Web Server 환경 구축 (2) - Nginx web server (2) | 2024.04.28 |
[Web] Oracle Cloud를 활용한 Web Server 환경 구축 (1) - Cloud 접속 (2) | 2024.04.27 |