Anzeige

FastAPI에서 SQLALchemy 세션 관리하기

15. Feb 2023
Anzeige

Más contenido relacionado

Último(20)

Anzeige

FastAPI에서 SQLALchemy 세션 관리하기

  1. FastAPI에서 SQLALchemy 세션 관리하기 원티드랩, 김윤재
  2. 원티드랩, 김윤재 2년차 Backend Engineer
  3. FastAPI Depends 의존관계를 외부에서 결정하고 주입
  4. FastAPI Depends 데이터베이스 연결
  5. FastAPI Depends 데이터베이스 연결
  6. FastAPI Depends 공통의 코드
  7. FastAPI Depends 공통의 코드 중복 코드 발생
  8. FastAPI Depends 공통의 코드 중복 코드 발생 만약 offset_id라는 값을 모든 API에 추가하고 싶다면?
  9. FastAPI Depends 공통의 코드 중복 코드 발생 만약 offset_id라는 값을 모든 API에 추가하고 싶다면?
  10. FastAPI Depends 공통의 코드
  11. FastAPI Depends 공통의 코드 의존 역전 유연성 Flexibility
  12. Depends 하나의 요청에 하나의 세션을 할당한다
  13. Depends
  14. Depends Resource 리소스 레이어가 db session 객체를 소유
  15. Depends Depends vs scoped_session
  16. scoped_session SQLAlchemy includes its own helper object, which helps with the establishment of user-defined Session scopes. The object is the scoped_session object, and it represents a registry of Session objects. 공식 문서
  17. scoped_session SQLAlchemy includes its own helper object, which helps with the establishment of user-defined Session scopes. The object is the scoped_session object, and it represents a registry of Session objects. 공식 문서 user-defined session represents registry
  18. scoped_session SQLAlchemy includes its own helper object, which helps with the establishment of user-defined Session scopes. The object is the scoped_session object, and it represents a registry of Session objects. 공식 문서 user-defined session represents registry
  19. scoped_session 여러 번 생성하더라도 같은 Session이 반환됨
  20. scoped_session 기존 세션이 사라지면 새로운 세션 반환
  21. scoped_session 전역에 session factory를 선언해두고 Repository 에서는 import 만 해서 사용
  22. scoped_session 전역에 session factory를 선언해두고 Repository 에서는 import 만 해서 사용 registry user-defined
  23. scoped_session Registry 를 활용한 세션 관리
  24. Registry Middleware 를 통해 각 request 별로 session 할당 set_session_id() -> Registry
  25. Registry get_session_id() 를 통해 Registry에서 세션을 가져온다
  26. Registry contextVar
  27. Registry session을 import해서 가져다 쓰기만 하면 끝
  28. Transaction
  29. Locust 동시성 테스트 5명의 유저가 1초에 5번 호출하는 상황
  30. Locust 동시성 테스트
  31. Locust 동시성 테스트 동시에 요청이 들어왔지만 Sync로 동작함
  32. SQLALchemy 1.4 async_scoped_session 추가
  33. SQLALchemy 1.4 async_scoped_session 추가 동시에 다른 session_id 값으로 여러 Transaction이 실행됨
  34. SQLALchemy 1.4 그러나….
  35. SQLALchemy 1.4 그러나….
  36. SQLALchemy 1.4 기존 쿼리문을 전부 새로운 ORM Query 문으로 수정해야 함.. await 키워드 붙여주기
  37. 발표자 없는 Q&A
Anzeige