목차
群发消息如何实现用户是否已读?
回复内容:
백엔드 개발 PHP 튜토리얼 群发消息如何实现用户是否已读?

群发消息如何实现用户是否已读?

Jul 06, 2016 pm 01:52 PM
php

群发消息如何实现用户是否已读?

谢谢大家

回复内容:

群发消息如何实现用户是否已读?

谢谢大家

推和拉模式的选择问题吧

如果选择推,那就类似上面两位的方式最简单,可能数据量有点庞大,但是一张消息表搞定

如果选择拉,那除了消息表(msg_id,msg_content),还要单独有一张用户消息表(uid,msg_id,status),你发一条消息的时候是发给N个用户的这个表里就会有N条记录,然后你打开消息列表页面的时候根据每页显示多少条,根据msg_id去查找内容显示,如果点击了就算已读,更新status

另外补充几点

  1. 如果觉得用户消息表还是数据量太大,可以根据不同维度拆分,比如老的消息基本没人看就按时间拆分,如果绝对部分用户不看的就按用户活跃度拆分等等方式

  2. 如果读的压力太大,每次读的时候用redis,memcache缓存一下

添加一个消息-用户的表 用户读取消息的页面时,增添相关内容,之后查数据库如果用户有该行则证明已读。
这个是简单实现的逻辑,可以进行一定的优化,降低数据库IO压力和需要排除重复操作的判断

在数据库中加一个status字段表示是否已读,用户读取消息的时候更新一下数据库吧status从0改为1
update A set status = 1 where ID = .

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

뜨거운 기사 태그

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Ubuntu 및 Debian용 PHP 8.4 설치 및 업그레이드 가이드 Ubuntu 및 Debian용 PHP 8.4 설치 및 업그레이드 가이드 Dec 24, 2024 pm 04:42 PM

Ubuntu 및 Debian용 PHP 8.4 설치 및 업그레이드 가이드

CakePHP 날짜 및 시간 CakePHP 날짜 및 시간 Sep 10, 2024 pm 05:27 PM

CakePHP 날짜 및 시간

CakePHP 프로젝트 구성 CakePHP 프로젝트 구성 Sep 10, 2024 pm 05:25 PM

CakePHP 프로젝트 구성

CakePHP 파일 업로드 CakePHP 파일 업로드 Sep 10, 2024 pm 05:27 PM

CakePHP 파일 업로드

CakePHP 라우팅 CakePHP 라우팅 Sep 10, 2024 pm 05:25 PM

CakePHP 라우팅

CakePHP 토론 CakePHP 토론 Sep 10, 2024 pm 05:28 PM

CakePHP 토론

CakePHP 빠른 가이드 CakePHP 빠른 가이드 Sep 10, 2024 pm 05:27 PM

CakePHP 빠른 가이드

PHP 개발을 위해 Visual Studio Code(VS Code)를 설정하는 방법 PHP 개발을 위해 Visual Studio Code(VS Code)를 설정하는 방법 Dec 20, 2024 am 11:31 AM

PHP 개발을 위해 Visual Studio Code(VS Code)를 설정하는 방법

See all articles