有关 V2EX 的“忽略主题”功能的数据库设计 - V2EX
LeeReamond

有关 V2EX 的“忽略主题”功能的数据库设计

  •  1
     
  •   LeeReamond Jun 17, 2021 1941 views
    This topic created in 1804 days ago, the information mentioned may be changed or developed.

    @Livid

    用了挺长时间 v2 了一直没用过这个功能,今天点了一下感觉挺好奇怎么实现的。功能上来说应该是按过忽略以后就不会再出现在指定用户的浏览界面里,那是否意味着后端要永久储存每个用户忽略了哪些数据?假设 V2EX 有一百万个主题,是不是理论上每个用户都有存下百万级别的忽略列表的可能,而渲染的时候还要取出来筛选,这不会造成明显压力吗?想问一下是怎么实现的

    12 replies    2021-06-18 20:29:33 +08:00
    crab
        1
    crab  
       Jun 17, 2021
    全渲染在 js 筛选
    blocked = []
    ignored_topics = []
    LeeReamond
        2
    LeeReamond  
    OP
       Jun 17, 2021
    @crab 好方案,但是我翻了翻 F12 的 cookies 和 localstorage 没找到类似的键值,这是存哪里的?
    SingeeKing
        3
    SingeeKing  
    PRO
       Jun 17, 2021 via iPhone
    @LeeReamond 看页面源码
    dingwen07
        4
    dingwen07  
       Jun 17, 2021
    @crab #1 根据请求 V2EX 页面,忽略主题不是本地 JS 做的
    LeeReamond
        5
    LeeReamond  
    OP
       Jun 18, 2021
    @SingeeKing 看了,没有
    3dwelcome
        6
    3dwelcome  
       Jun 18, 2021
    "那是否意味着后端要永久储存每个用户忽略了哪些数据?假设 V2EX 有一百万个主题,是不是理论上每个用户都有存下百万级别的忽略列表的可能"

    这就和 google 搜索引擎原理一样,理论上一个关键词能搜出几百万条记录。实际上对用户可见的,也只有那些”热数据“,多翻几页后面就空了。

    假设每个用户都存百万级别的忽略列表,这明显是伪需求。就算存也是一部分冷数据,对于终端每个用户,热数据里最多给筛选几百条的存储空间。

    给全站用户一起建立个几万条热数据过滤池,估计也足够了。
    Jooooooooo
        7
    Jooooooooo  
       Jun 18, 2021
    首先你不能忽略几百万个主题

    就像微博你不能关注几百万个人 (要不然时间流咋捞?

    微信不能添加几百万个好友 (要不然朋友圈咋弄
    LeeReamond
        8
    LeeReamond  
    OP
       Jun 18, 2021 via Android
    @Jooooooooo 限制数量是一个简单粗暴的方案,我只是想知道 v2 怎么实现的,毕竟这种规模的业务也不算小了,挺有参考意义的
    Elethom
        9
    Elethom  
       Jun 18, 2021 via iPhone
    这个的确是前端做的,看仔细一点。
    xiaojj
        10
    xiaojj  
       Jun 18, 2021
    前端实现的话,分页就不合理了
    414
        11
    414  
       Jun 18, 2021
    这个帖子应该会被很多人点忽略主题
    LeeReamond
        12
    LeeReamond  
    OP
       Jun 18, 2021
    @Elethom 还有一个问题,前端储存的话是不是表示放弃了多端同步的需求
    About     Help     Advertise     Blog     API     FAQ     Solana     5363 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 66ms UTC 07:21 PVG 15:21 LAX 00:21 JFK 03:21
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86