首页
乐从家具城
发展商
外国人服务中心
新闻中心
服务与支持

新闻中心

你的位置:九游会J9·(china)官方网站-真人游戏第一品牌 > 新闻中心 > ag九游会网站全情尽享娱乐、赛事投注何况也普及了用户互动体验感-九游会J9·(china)官方网站-真人游戏第一品牌

ag九游会网站全情尽享娱乐、赛事投注何况也普及了用户互动体验感-九游会J9·(china)官方网站-真人游戏第一品牌

发布日期:2025-04-13 09:59    点击次数:66

ag九游会网站全情尽享娱乐、赛事投注何况也普及了用户互动体验感-九游会J9·(china)官方网站-真人游戏第一品牌

跟着酬酢网罗的荣华发展,点赞功能迟缓成为了一个网站中不能或缺的功能。因为点赞功能不仅不错让用户更直不雅地了解我方的视频、著作等骨子被若干东谈主认同,何况也普及了用户互动体验感。底下咱们来聊聊通用的点赞系统运筹帷幄的决策。

1、点赞系统的数据表运筹帷幄

在运筹帷幄数据表的技巧咱们需要知谈点赞系统需要完成的基础功能有哪些,点赞系统平庸需要完毕以下功能:

(1)用户不错点赞一个视频、著作、评述等骨子

(2)用户不错搜检一个视频、著作、评述等骨子的点赞数

(3)用户不错取消对视频、著作、评述等骨子的点赞

针对如上所示的功能,咱们不错运筹帷幄一张点赞纪录表和点赞计数表来纪录数据,如下是两张表的字段运筹帷幄:

点赞计数表中纪录了稿件(视频、著作、评述等等)被点赞和取消点赞的总和,用作总的点赞数据展示;点赞纪录表用于纪录哪些用户在何时给哪个稿件点赞或取消点赞。

2、系统运筹帷幄

2.1 点赞数据写入的运筹帷幄决策

点赞系长入般流量是比拟大的,非常是在某个稿件顷刻间成为热门之后,那么流量就会突增上来,为了应酬大流量,咱们在运筹帷幄点赞系统的技巧遴荐MQ来作念削峰措置,通盘点赞数据写入的经过如下所示:

(1)用户发送来点赞苦求,经过Nginx和网关转发到点赞办事上,点赞办事拼装必要的数据(稿件的id、稿件用户id等数据)发送MQ音问,并发反映客户端写入点赞数据获胜。

(2)点赞办事耗尽MQ音问,最初要保存点赞的数据,在保存点赞数据的技巧需要作念一些逻辑锤真金不怕火使命,如下的经过图所示:

最初说明用户的id和点赞的稿件id查询数据库得回用户的点赞纪录数据,说明查询的效劳分如下的情况分析:

(a)要是莫得查询到用户的点赞纪录数据,那么平直保存用户的点赞纪录到纪录表中,将点赞计数表中的总的点赞数目加1。

(b)要是还是存在了用户的点赞纪录,那么就需要说明点赞的技巧和点赞的算作进一步的查验

(b1)数据表中的点赞技巧 > MQ顶用户的点赞技巧,讲明可能存在重叠的点赞,此时咱们这表MQ音问平直丢弃。

(b2)数据表中的点赞技巧 < MQ顶用户的点赞技巧,比拟数据库中面前的用户点赞现象是否为点赞,要是是点赞现象那么面前的MQ也不耗尽了,要是是数据库中现象是取消现象,那么MQ音问咱们就需要耗尽,此时修改纪录表的数据现象为点赞现象、点赞计数表中面前的稿件的点赞数目加1。

(3)点赞的数据写入缓存中从而贬低数据库的压力,点赞纪录和点赞计数表的运筹帷幄如下所示:

在redis中稿件的点赞总和不错遴荐String类型的数据结构来缓存,点赞纪录数据遴荐Zset的数据要害来存缓存数据,这里需要给redis确立合适的逾期技巧。

(4)数据库的运筹帷幄遴荐读写隔离的架构,使用canal来同步数据到从库中,扫数的写苦求皆打到主库上,扫数的读苦求皆转发到从库上。

(5)为了保证数据的一致性,咱们遴荐定时任务如期从数据库中同步数据到redis上,这么即使是redis在某个技巧中写失败了,咱们通过定时任务的方式将数据抵偿到redis中。

取消的点赞数据的写入经过亦然相通运筹帷幄的,仅仅最终逻辑是重心赞计数表中点赞的数目减1,取消点赞的数目加1的,还要在点赞纪录表中更新大概添加用户取消点赞的纪录,是以取消点赞的这里就不在赘述。

2.2 用户读取点赞的数据

当点赞数据获胜的写入缓存和数据库之后,用户读取点赞数据的经过如下:

(1)读苦求转发到点赞办事上之后,点赞办事优先查询redis中是否存在数据,要是稀有据的情况下,平直反映数据给客户端。

(2)要是redis中无点赞数据,那么此时就需要到数据库中查询数据,此时读取数据库的技巧需要添加锁,驻扎短技巧内由于缓存失效等原因形成精深的苦求平直苦求数据库从而导致数据库崩溃的问题。数据库上查询的数据要缓存一份到redis中。

回顾:

(1)点赞系统本文先容的是一种通过MQ+主从架构+redis的运筹帷幄决策来应酬大流量

(2)高并发下点赞系统的redis缓存推选使用更新的决策,因为高并发要是平庸的删除缓存就会导致缓存的射中率下跌,那么就露出不了缓存的作用

(3)主从架构中,主从是通过canal来同步的,canal亦然依赖与主库的binlogag九游会网站全情尽享娱乐、赛事投注,要是主库由于系统的压力较大生成binlog速率慢了,就可能会发生从库和redis之间的数据不一致性,此时定时任务不错作念数据抵偿,栽种从库和redis之间的数据不一致性。



Powered by 九游会J9·(china)官方网站-真人游戏第一品牌 @2013-2022 RSS地图 HTML地图