UXUI 분석

프로필 바꿨는데 왜 안 바뀌지?👀 캐싱의 숨겨진 비밀

타미토리 2025. 8. 19. 18:09

 

 프로젝트 개발이 한창 진행 중인 어느 날, 
안드로이드 개발자분이 이런 문의를 해오셨다.

현재 조직도 사용자 프로필이미지가
이미지를 변경하더라도
url이 고정값이라 앱에서
캐싱처리를 해야 하는데요.
변경 시점 어떻게 처리하면 좋을지
확인 부탁드립니다.

 
네 좋아요. 그런데요,
일단 "url이 고정 값"이라는 뜻이 뭐죠?
앱에서 캐싱처리를 해야 한다는 건?
변경 시점에 "어떻게" 처리하면 좋을지 확인해 달라고요?
저도 어떻게 해야 할지 모르면 어떡하지요? 😂😂😂
 

※ 실제 프로젝트에서 경험한 내용을 정리했습니다.


🔍 질문의 핵심에는 '캐싱'이 있다.

캐싱이 뭐죠? 먹는건가요?🤤

캐싱이 뭔데?

캐싱은 한번 불러온 데이터를 임시 저장해 두는 기술이다.


왜 캐싱을 할까?

  • 💰사용자의 데이터 절약!
    • 매번 서버에서 새로 받으면 데이터를 엄청 쓰게된다😅
  • 💫속도가 빠름빠름!
    • 폰에 저장된 걸 쓰니까 데이터를 불러오는 속도가 빠르다.
  • ⬇️ 서버 부하 감소 
    • 서버가 죽지 않는다! (별점⭐⭐⭐⭐⭐)

 

하지만 문제는...
앱이 "어? 이 이미지 전에 받았던 거네!" 하고 예전 버전을 계속 보여줘서 문제가 되는 것!

즉, SNS에서 프로필 사진을 바꿨는데 친구 폰에서는
아직 예전 사진이 보일 때 사용자 경험을 해치게 된다!


😵 캐싱 외에 다른 방법은? 다른 앱서비스들은 어떨까?

1️⃣ 시간 기반 캐싱하기

  • 1분마다 새로고침
  • 10분마다 새로고침
  • 1시간마다 새로고침 등

 

실제로 회사 내 다른 서비스에서는 서버 부하로
1시간마다 캐싱하여, 프로필 사진을 변경하면
상대방은 1시간 뒤에 변경된 프로필을
확인할 수 있다고 한다?!

오마이! 괜찮을까?😧
놀랍게도 괜찮다고 한다.
그 앱은 개인SNS처럼 즉각적으로 프로필 사진 변경이
중요한 앱은 아니기 때문이다.
 

2️⃣ 이미지 URL에 버전 정보 추가하기

profile.jpg?v=20250819141500
  • 프로필 바뀔 때마다 URL도 바뀜
  • 앱이 "아! 새 이미지구나!" 하고 바로 업데이트 가능!
  • 많은 글로벌 앱이 채택하는 방법이라고..💡 

 


🏗️ 우리가 택한 방법은? 

캐싱 vs 기술적 해결 

이슈에 대해 토론중

⚖️ 개발팀 회의록

  • 안드 개발자: "캐싱 유지 시간을 1분? 10분? 1시간?"
  • 서버 개발자: "변경분만 리프레시하면 어떨까요?"
  • 안드 개발자: "그럼 사용자별 플래그 관리가..."
  • 그리고 나: ("무슨 말인지는 모르겠으나🤔 그들 간의 이슈라는 건 알겠다") 

 

최종 결정: URL 버전 방식! 🎉

다행히 개발팀에서 캐싱 이슈를 반영하여 URL에 버전 방식으로 구현해 주셨다.

  • 프로필 변경 → 화면 전환/새로고침 시 즉시 반영 ✅
  • 개발 복잡도 적당 ✅
  • 서버 부하 최소화 ✅

🎯 앞으로 기획자로서 체크할 부분이 있다면?

내가 적용할 부분을 체크해보자😂


1️⃣ 사용자 행동 패턴 분석:

  • 해당 서비스(프로젝트)의 특성 이해
    • 사용자는 프로필을 바꾼 후 무슨 행동을 할까?
    • 실시간성이 얼마나 중요할까?


2️⃣ 기술적 제약 이해하기💬

  • "다른 앱처럼 실시간으로 해주세요!, 프로필 바뀌면 바로바로 보이게 해 주세요!"
  • "타깃 사용자 행동에 맞는 적절한 반영 시점을 찾아봐요. 기술적으로 어떤 방식이 현재 구현 가능한 방식인가요?"

 


🎯 결론

1️⃣프로필 이미지 캐싱 문제는
"기술적 제약 vs 사용자 경험"의 전형적인 사례!

오늘도 레벨업!


2️⃣ 핵심 인사이트:

  • 무조건 실시간 반영은 NOPE!
    서비스 성격에 맞는 타이밍이 포인트!
  • 개발 리소스와 UX 간의 조율은 필수!
    지혜로운 커뮤니케이션이 필요
  • 단계적 접근 추천
    MVP → 고도화

TIP:
3년간 일하면서 느꼈던 것은 개발팀이 “기술적으로 어렵다”라고 해도 그들은 답을 찾아낸다는 것이다. 기획자인 나는 이 기능이 해당 서비스에서 왜 중요한지를 설명할 수 있으면 된다. 그들은 답을 찾을 것이다. 늘 그랬듯이.


💬 마무리하며...
이런 이슈들이 등장할 때마다 맥락은 이해했지만
여전히 무슨 말인지 모르겠어서 곤란한
3년 차 주니어는 이렇게 또 하나를 배워갑니다...
혹시 비슷한 경험담 있으시면 댓글로 공유해 주세요!
함께 성장해요🙌