未读消息通知逻辑上应该怎么做?
场景就是当平台有各种新的消息通知时,平台内的成员会有未读消息的提醒。
我本来的思路是给成员一个notice的字段,默认为空,用来记录未读消息。每当平台有新消息发布时,所有成员的notice就添加该消息的id,最终notice的结构为$id,$id,$id,。有几个,就意味着有几条未读消息,然后遍历出对应的每条消息的id,当点击浏览此信息的时候,就从notice中去除对应的$id,。
这种思路合理吗?或者更好的思路是什么?
回复讨论(解决方案)
或者我想到的另外一种思路,无论新发布了什么信息,直接将此信息以站内信的形式对于用户进行发送,好处是方便管理,坏处是站内信的量会骤然增多
表字段设置一个空值,发送消息之后这个值依然为空,当用户点击该消息的时候传递一个值, 改变该字段的状态
站内信骤然增多也没关系,没影响
新建一个消息表,每条消息对应一个用户id和notice,通过改变notice的值判断是否已读
每条信息一条记录,对应用户的id,以及是否已读
你要的这种消息系统只是一个留言板的扩展,只是增加了一个标识阅读权限的字段
为标识是否已读,可设一个表,用于存放 消息id 和对应的 用户id。此表可能会很长,可以每月一分表
不好意思刚看到
一个存储发布消息的 数组(消息id) 保存在 memcache
当用户登录的时候读取数据库的 已读消息 这个看你怎么设计了 多长时间发布前的消息失效
然后将用户在线时的数据交互保存到 memcache 这类缓存里,在线的时候 定时读 新消息通知 (因为你应该需要消息即时推送吧?)
memcache 数据多长时间设置为失效 当数据失效的时候 用户需要 重新读取数据库内的数据重新生成memcache中的临时缓存数据
差不多就这样吧 看看你有多少用户 要吃多少内存 多结合几种方法因为用户多 请求可能会很多 尽量减少读写数据库.

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds





Alipay Php ...

Le détournement de la session peut être réalisé via les étapes suivantes: 1. Obtenez l'ID de session, 2. Utilisez l'ID de session, 3. Gardez la session active. Les méthodes pour empêcher le détournement de la session en PHP incluent: 1. Utilisez la fonction Session_RegeReate_id () pour régénérer l'ID de session, 2. Stocker les données de session via la base de données, 3. Assurez-vous que toutes les données de session sont transmises via HTTPS.

JWT est une norme ouverte basée sur JSON, utilisée pour transmettre en toute sécurité des informations entre les parties, principalement pour l'authentification de l'identité et l'échange d'informations. 1. JWT se compose de trois parties: en-tête, charge utile et signature. 2. Le principe de travail de JWT comprend trois étapes: la génération de JWT, la vérification de la charge utile JWT et l'analyse. 3. Lorsque vous utilisez JWT pour l'authentification en PHP, JWT peut être généré et vérifié, et les informations sur le rôle et l'autorisation des utilisateurs peuvent être incluses dans l'utilisation avancée. 4. Les erreurs courantes incluent une défaillance de vérification de signature, l'expiration des jetons et la charge utile surdimensionnée. Les compétences de débogage incluent l'utilisation des outils de débogage et de l'exploitation forestière. 5. L'optimisation des performances et les meilleures pratiques incluent l'utilisation des algorithmes de signature appropriés, la définition des périodes de validité raisonnablement,

L'application du principe solide dans le développement de PHP comprend: 1. Principe de responsabilité unique (SRP): Chaque classe n'est responsable d'une seule fonction. 2. Principe ouvert et ferme (OCP): les changements sont réalisés par extension plutôt que par modification. 3. Principe de substitution de Lisch (LSP): les sous-classes peuvent remplacer les classes de base sans affecter la précision du programme. 4. Principe d'isolement d'interface (ISP): utilisez des interfaces à grain fin pour éviter les dépendances et les méthodes inutilisées. 5. Principe d'inversion de dépendance (DIP): les modules élevés et de bas niveau reposent sur l'abstraction et sont mis en œuvre par injection de dépendance.

Comment définir automatiquement les autorisations d'UnixSocket après le redémarrage du système. Chaque fois que le système redémarre, nous devons exécuter la commande suivante pour modifier les autorisations d'UnixSocket: sudo ...

Comment déboguer le mode CLI dans phpstorm? Lors du développement avec PHPStorm, nous devons parfois déboguer PHP en mode interface de ligne de commande (CLI) ...

Liaison statique (statique: :) implémente la liaison statique tardive (LSB) dans PHP, permettant à des classes d'appel d'être référencées dans des contextes statiques plutôt que de définir des classes. 1) Le processus d'analyse est effectué au moment de l'exécution, 2) Recherchez la classe d'appel dans la relation de succession, 3) il peut apporter des frais généraux de performance.

Envoyant des données JSON à l'aide de la bibliothèque Curl de PHP dans le développement de PHP, il est souvent nécessaire d'interagir avec les API externes. L'une des façons courantes consiste à utiliser la bibliothèque Curl pour envoyer le post� ...
