在web通知系统中消息载体是如何承载信息的
在一个消息通知系统中,有评论通知、有回复通知等等:
<code> - 每种通知在web前台显示格式是不一样的; - 对于同一种通知如评论,根据其所评论的内容在web前台显示时又是不一样的,如评论了日记与评论了照片在消息通知的显示中是不一样的; - 另外,一张照片的评论也可能会有好几种显示格式; </code>
考虑到扩展性,我也不能把要显示的通知内容硬性的写到数据库或redis中,看到网上提到“模板”,如果单纯的根据通知类型调用其显示模板,我觉得也不行,但实在不知如何设计数据库才能实现我上面的需求,不知道大家是怎么设计这种类似的消息通知的?
回复内容:
在一个消息通知系统中,有评论通知、有回复通知等等:
<code> - 每种通知在web前台显示格式是不一样的; - 对于同一种通知如评论,根据其所评论的内容在web前台显示时又是不一样的,如评论了日记与评论了照片在消息通知的显示中是不一样的; - 另外,一张照片的评论也可能会有好几种显示格式; </code>
考虑到扩展性,我也不能把要显示的通知内容硬性的写到数据库或redis中,看到网上提到“模板”,如果单纯的根据通知类型调用其显示模板,我觉得也不行,但实在不知如何设计数据库才能实现我上面的需求,不知道大家是怎么设计这种类似的消息通知的?
提一个解决方案:
通知不携带具体的内容或者携带最少量的必要信息(如消息数
、发送方
等信息),当用户实际点击时在异步获取具体的消息内容。
以Android的推送为例。这个为我厂先产品的一个实现。传递通知类型,以及用户id,然后在解析完成后在推送到通知中心。类似上面所说的携带最少量必要信息,然后异步获取具体呈现内容。
再说具体的通知信息如何呈现。
首先,存储中保存的信息必然不是最终呈现给用户的信息。给用户呈现的信息应当是在service层或者在页面组装的。存储还是保存基本数据信息,比如说具体评论内容、时间、图片链接等。
昨天晚上比较晚,思路不是很清晰。现在再做下补充。
上面提到的方法是一。还有就是和view层(web、app)协定好具体的消息格式,然后还是在service
层完成消息组装。
以iOS推送为例:iOS的推送因为是要遵从Apple的APNs的协议,alter是alter,badge是badge,需要传递给app的,则封装在custom中。web也可以类似,协定好具体的通知格式,然后在web层判断并呈现。
我目前就是这样的,,现在要推送给用户的信息,
这个信息分为各种各样的,, 如果用redis来存储呢 ? 再者如何读取用户没有读取过的消息记录呢??

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

PHP和Python各有优势,选择应基于项目需求。1.PHP适合web开发,语法简单,执行效率高。2.Python适用于数据科学和机器学习,语法简洁,库丰富。

Redis集群模式通过分片将Redis实例部署到多个服务器,提高可扩展性和可用性。搭建步骤如下:创建奇数个Redis实例,端口不同;创建3个sentinel实例,监控Redis实例并进行故障转移;配置sentinel配置文件,添加监控Redis实例信息和故障转移设置;配置Redis实例配置文件,启用集群模式并指定集群信息文件路径;创建nodes.conf文件,包含各Redis实例的信息;启动集群,执行create命令创建集群并指定副本数量;登录集群执行CLUSTER INFO命令验证集群状态;使

PHP的未来将通过适应新技术趋势和引入创新特性来实现:1)适应云计算、容器化和微服务架构,支持Docker和Kubernetes;2)引入JIT编译器和枚举类型,提升性能和数据处理效率;3)持续优化性能和推广最佳实践。

PHP不是在消亡,而是在不断适应和进化。1)PHP从1994年起经历多次版本迭代,适应新技术趋势。2)目前广泛应用于电子商务、内容管理系统等领域。3)PHP8引入JIT编译器等功能,提升性能和现代化。4)使用OPcache和遵循PSR-12标准可优化性能和代码质量。

可以通过以下步骤打开 phpMyAdmin:1. 登录网站控制面板;2. 找到并点击 phpMyAdmin 图标;3. 输入 MySQL 凭据;4. 点击 "登录"。

理解 Redis 源码的最佳方法是逐步进行:熟悉 Redis 基础知识。选择一个特定的模块或功能作为起点。从模块或功能的入口点开始,逐行查看代码。通过函数调用链查看代码。熟悉 Redis 使用的底层数据结构。识别 Redis 使用的算法。

使用 Redis 指令需要以下步骤:打开 Redis 客户端。输入指令(动词 键 值)。提供所需参数(因指令而异)。按 Enter 执行指令。Redis 返回响应,指示操作结果(通常为 OK 或 -ERR)。

PHPMyAdmin安全防御策略的关键在于:1. 使用最新版PHPMyAdmin及定期更新PHP和MySQL;2. 严格控制访问权限,使用.htaccess或Web服务器访问控制;3. 启用强密码和双因素认证;4. 定期备份数据库;5. 仔细检查配置文件,避免暴露敏感信息;6. 使用Web应用防火墙(WAF);7. 进行安全审计。 这些措施能够有效降低PHPMyAdmin因配置不当、版本过旧或环境安全隐患导致的安全风险,保障数据库安全。
