android 微信是如何实现即时更新好友头像的
迷茫
迷茫 2017-04-17 17:58:48
0
5
1674

微信好友的头像肯定是做缓存的,那么好友头像修改后,用户这边是如何实现立即就能看到修改后的头像的呢?

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

모든 응답(5)
左手右手慢动作

실시간 업데이트를 원할 경우: 푸시를 사용해야 합니다. A가 아바타를 수정한 후 서버에 알리면 서버는 A의 친구에게 푸시 알림을 보내 A의 아바타를 업데이트합니다.

迷茫

가장 먼저 가져와야 할 것은 아바타 URL이어야 합니다. 로컬 캐시는 URL을 기반으로 합니다. 로컬 캐시는 아바타 URL을 가져온 다음 로딩 모듈을 통해 로드할 때마다 현재 캐시된 이미지가 맞는지 여부를 판단합니다. 이 URL과 일치하는지 여부는 새 URL을 통해 다운로드됩니다.

PHPzhong

데이터베이스에 마지막 아바타 수정 시간 필드를 저장하세요.

刘奇

추측해 봅시다. 괄호 안의 프로세스는 대략적인 추측입니다.
사용자 A가 새 아바타를 업로드하고 → 서버가 새 아바타를 처리하고 → 새 아바타 URL을 사용자 테이블의 필드에 저장하고 변경 시간을 기록합니다( → 아바타 동기화 CDN으로 이동 → 사용자 테이블의 아바타 URL 필드 업데이트 및 변경 시간 기록) → 서버가 온라인 클라이언트에 푸시 보내기 → 클라이언트가 아바타를 업데이트합니다.

左手右手慢动作

짐작컨데 식별 필드를 설정할 수 있으며 기본값은 0입니다. 사용자가 아바타를 업데이트할 때 이를 1로 설정합니다. 메시지를 푸시하거나 정기적으로 동기화할 때 이 ID를 동시에 푸시합니다. 시간.
메시지를 처리하거나 정기적으로 연락처 정보를 동기화하는 동안 휴대폰에서 이 플래그를 결정합니다. 플래그가 1이면 친구가 새 아바타를 업로드했음을 의미하며 새 아바타를 가져오기 위해 GET 요청이 이루어집니다. 로컬로 캐시하는 동시에 다음 동기화 시 아바타에 대한 반복 요청을 방지하기 위해 식별자는 0으로 업데이트됩니다.
(PS: 개인적인 생각입니다.)

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿