r잡초처럼
바른 프로그래밍
r잡초처럼
전체 방문자
오늘
어제
  • 분류 전체보기 (124)
    • FastAPI (7)
    • 끄적끄적 (2)
    • Python (17)
    • Django (31)
    • Database (2)
    • Docker (7)
    • 디자인패턴 (2)
    • CS 공부 (12)
      • 알고리즘 (2)
      • 자료 구조 (1)
      • 네트워크 (7)
      • IT 지식 (1)
      • 운영체제 (1)
    • 기타 팁들 (10)
    • Aws (2)
    • 독서 (1)
    • 코딩테스트 공부 (1)
      • 백준 (0)
      • 프로그래머스 (1)
    • DevOps (13)
    • TIL (3)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 파이썬 클린 코드
  • 전기 신호
  • fastapi
  • validate
  • 랜 카드
  • dotenv
  • CS 지식
  • depends
  • 모두의 네트워크
  • docker
  • 상속 안티 패턴
  • pytest
  • Batch
  • 랜과 왠
  • preonboarding
  • 7장
  • 완벽한 IT 인프라 구축을 위한 Docker
  • 케이블의 종류
  • query param
  • 6장
  • 컴퓨터 기본 지식
  • 책 리뷰
  • poetry
  • 상속과 컴포지션
  • cp949
  • 5장 회사에서 하는 랜 구성
  • 네트워크
  • pycharm
  • encoding
  • 물리 계층

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
r잡초처럼

바른 프로그래밍

Django Channels - 채팅 기능 구현하기 - 1
Django

Django Channels - 채팅 기능 구현하기 - 1

2023. 5. 8. 20:48

채팅 기록을 저장하는 부분에서 고민이 있었다. DB 에 insert 하기에는 RDB에 자꾸 hit 하면 성능 문제가 있을 거 같았다. 

그래서 redis 에 저장하는 것으로 결정했다. 

 

  1. 우선 채팅룸은 sender 의 id 와 receiver 의 id 로 만들었다. id 의 크기를 비교해서 id 가 작은 쪽으로 채팅방을 만들었다. 
  2. 그리고 chat room 을 들어갔을 때 redis 에서 history 를 가져오도록 했다.
  3. redis 에서 채팅 기록을 저장할 때 json 형식으로 저장하는데 이를 파이썬 객체로 load 시켰다.
  4. 그리고 프론트에서 풀어서 보여주었다.

이제 고민은 읽은 사람 표시를 어떻게 보여주냐인데, 당장 떠오르는 건 실시간 채팅에서는 채팅방에 접속한 인원수를 빼면 될 거 같은데, 이전 기록에서는 어떻게 보여줄 것인가가 고민이다...

'Django' 카테고리의 다른 글

사용자 로그인 - JWT 적용하기 - 1. Session 이해하기  (0) 2023.07.02
인증 구현하기  (0) 2023.05.14
Django Channels - Consumer 살펴보기  (0) 2023.05.05
WebSocket 살펴보기 - 2  (0) 2023.05.05
DRF - Null인 경우 마지막에 배치하도록 하기  (0) 2023.04.17
    'Django' 카테고리의 다른 글
    • 사용자 로그인 - JWT 적용하기 - 1. Session 이해하기
    • 인증 구현하기
    • Django Channels - Consumer 살펴보기
    • WebSocket 살펴보기 - 2
    r잡초처럼
    r잡초처럼
    오늘보다 내일 더 나은 개발자가 되기 위한 노력을 기록하는 블로그 입니다.

    티스토리툴바