flask로 백엔드를 개발하는데, 각 api마다 공유할 딕셔너리와 변수가 있다.
해결 방법이 생각이 안나 전역변수로 코딩을 하기 시작했다.
하지만 양심의 가책... 이러면 안된다는 생각이 끊이질 않았고, 해결 방법을 찾아봤다.
그러다 발견한 redis
공식 문서
https://www.tutorialspoint.com/redis/redis_hashes.htm
Redis - Hashes - Tutorialspoint
Redis - Hashes Redis Hashes are maps between the string fields and the string values. Hence, they are the perfect data type to represent objects. In Redis, every hash can store up to more than 4 billion field-value pairs. Example redis 127.0.0.1:6379> HMSE
www.tutorialspoint.com
redis가 뭐냐?
https://www.youtube.com/watch?v=Gimv7hroM8A ☜ 개념 설명 잘 되어 있다.
in-memory data structure store
cache 개념(결과를 저장했다가 나중에 빠르게 사용하는 것)
"데이터베이스보다 더 빠른 메모리에/ 더 자주 접근하고 덜 자주 바뀌는 데이터를 저장하자"
redis의 자료 구조? 데이터 타입
이거 말고 좀 더 있는 것 같은데 잘 모르겠다ㅎ.ㅎ
- set
- list
- string
- hash https://realmojo.tistory.com/172
[Redis] Hashes 명령어 설명 및 예제
Hashes 관련 명령어 예제 HSET 하나의 객체에 여러개의 변수를 담을 수 있는 구조 라고 생각하면 편하겠다. Man이라는 객체가 있다면 Man.age = 30 Man.name = Jung Man.gender = M Man.job = developer..
realmojo.tistory.com
redis에서 hash 데이터 타입은 key - field - value 와 같이 이루어져있다.
따라서 key : {
field1 : value1,
field2 : value2,
}
이렇게 이루어져 있는 것이다.
flask와 redis의 연동
파이썬 라이브러리는 이걸 사용한다. https://pypi.org/project/flask-redis/
따로 PC에 설치도 해야 한다. 윈도우에 redis를 설치하는 방법은 https://gofnrk.tistory.com/35 여기 나와있다.
flask-redis 라이브러리에 보면 password를 적어야하는 부분이 있다.
그 방법은 https://oingdaddy.tistory.com/242 여깅
redis-cli.exe 명령어
변수
.
.
auth [비밀번호]
ping : PONG이 오면 정상 동작
select 0 : 0번 데이터베이스(같은 개념) 선택
keys * : 모든 key 출력
get n : string으로 저장한 변수 출력
set n 1 : n에 string 1 저장
hgetall agent_ip_list(key 입력) : field , value 모두 출력
hget agent_ip_list : 하면 출력 안됨. 아마 agent_ip_list가 field-value로 이루어져있기 때문에 안되는 듯. 만약 value를 출력하고 싶다면
hget agent_ip_list field 해야 함. value만 출력할 수 있다.
참조
https://sabarada.tistory.com/135?category=856943
[Redis] Hashes을 이용하여 매핑 만들기 ( Strings VS Hashes )
안녕하세요. 우리는 저번시간에 [Redis] Redis 자료구조 알아보기 포스팅을 통해 Redis가 가지고 있는 유용한 자료구조와 그 사용법 및 활용되는 곳에 대해서 간단히 알아보았습니다. 오늘은 이어서
sabarada.tistory.com
https://www.joinc.co.kr/w/man/12/REDIS/DataModeling
REDIS 데이터 모델링 예제들
클라이언트 연결 테이블 관리
www.joinc.co.kr
list type 명령어
https://blog.geunho.dev/til/redis/ops/
Redis - 조회 명령어 정리
redis-cli를 이용해서 간단히 조회할 때 사용할만한 redis 명령어 몇 가지를 정리한다. get string 형식으로 저장된 값 하나를 조회한다. get my-key "my value blah blah" hget hash로 저장된 값의 필드 하나를 조
blog.geunho.dev
https://realmojo.tistory.com/169
[Redis] List 명령어 설명 및 예제
List 관련 명령어 예제 - LPUSH, RPUSH, LRANGE 설명(LPUSH) : 지정된 모든 값을 키에 저장된 목록의 처음에 넣습니다. 키가 없으면 조작을 수행하기 전에 키가 빈 목록으로 작성 설명(RPUSH) : 지정된 모
realmojo.tistory.com
set type 명령어
https://zzdd1558.tistory.com/222
[Redis] 데이터 타입 Sets
( 출처 http://bcho.tistory.com/654 , http://wiki.pchero21.com/wiki/Redis ) Sets set은 string의 집합이다. 여러개의 값을 하나의 Value 내에 넣을 수 있다고 생각하면 되며 블로그 포스트의 태깅(Tag)..
zzdd1558.tistory.com
'개발' 카테고리의 다른 글
동기 비동기/ blocking nonblocking 개념 (0) | 2021.07.29 |
---|---|
[python] socket과 multi-thread (0) | 2021.07.28 |
[Flask-3]ORM 라이브러리 이용해 DB 연동 (0) | 2021.07.13 |
[Flask-2]개발 시작하기 - 애플리케이션 팩토리, 블루프린트 (0) | 2021.07.13 |
[Flask-1]개발 환경 setting (0) | 2021.07.13 |
댓글