V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
kemingcao
V2EX  ›  程序员

数据结构设计. 站内公告,要求统计阅读数,以及可以指定接收用户,用户量现在大约几万左右,求方案

  •  
  •   kemingcao · 2015-05-06 16:11:48 +08:00 · 2393 次点击
    这是一个创建于 3490 天前的主题,其中的信息可能已经有所发展或是发生改变。

    公告现在还比较少,会逐渐增加数量,大概一年几百左右。现在想到的方案是用Redis:

    # key 随着用户增长会变态增长  2w * 10 = 20w key
    # 统计以及特定用户接受什么的比较简单
    
    # key                   => value
    notification_id:user_id => is_read
    
    
    # hash_key         field_key => field_value
    notification_id :: user_id   => is_read
    

    主要是需要记录每个用户是否读了公告,脑奔了,求建议 , 拜谢!

    5 条回复    2015-05-08 18:26:47 +08:00
    kslr
        1
    kslr  
       2015-05-06 16:24:37 +08:00   ❤️ 2
    你也太看不起数据库了
    fenzlie
        2
    fenzlie  
       2015-05-06 16:41:16 +08:00   ❤️ 1
    如果你只需要记录站内公告数,在REDIS中记一个 statics:notification_id:readnum=0 然后有新用户访问时做个INCR就可以了。

    如果你需要记录每个公告,哪些用户看了,哪些用户没看,这种信息还是存表吧,几万用户,几百公告数,存个表不过百万数据而已。加上索引主键查询妥妥够用。
    kemingcao
        3
    kemingcao  
    OP
       2015-05-06 16:44:27 +08:00
    @fenzlie 谢谢,想在想到怎么处理了!
    deepreader
        4
    deepreader  
       2015-05-07 00:15:18 +08:00
    @kemingcao 具体怎么处理?
    kemingcao
        5
    kemingcao  
    OP
       2015-05-08 18:26:47 +08:00
    @deepreader 具体做了一个hash表,用户作为field , 值为公告,先实现,然后在改进。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   932 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 22:13 · PVG 06:13 · LAX 14:13 · JFK 17:13
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.