V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
n37r06u3
V2EX  ›  Python

v2ex 的提醒功能是如何实现的?

  •  
  •   n37r06u3 · 2014-07-04 23:02:22 +08:00 · 3655 次点击
    这是一个创建于 3793 天前的主题,其中的信息可能已经有所发展或是发生改变。
    RT 貌似没有在前端用js更新

    好像自动更新了
    9 条回复    2014-07-07 11:32:37 +08:00
    kmvan
        1
    kmvan  
       2014-07-05 00:09:13 +08:00 via Android
    不是 js 更新的吧
    ykennyy
        2
    ykennyy  
       2014-07-05 03:08:18 +08:00
    等待大神解答
    leyle
        3
    leyle  
       2014-07-05 07:47:02 +08:00 via Android
    感觉是必须要刷新页面才知道,所以是每次主动刷新页面时去数据库查询的?
    cbsw
        4
    cbsw  
       2014-07-05 10:28:04 +08:00
    不是 ajax 自动刷新,而是每次生成页面时都会查询数据库的提醒,有提醒就顺带在页面相关部分显示了。
    不过不知为啥有时会没有提醒
    /t/81674/
    /t/107535/
    /t/96710/
    /t/99312/
    /t/100504/
    no13bus
        5
    no13bus  
       2014-07-06 20:52:46 +08:00
    看了一些类v2ex的项目 如f2e.im 里面的提醒实现就是每次刷新页面,就到数据库内查询,当然是notification这个表里面看看是否有unreadable=1的数据,有的话取出 对应该登陆用户进行显示。
    no13bus
        6
    no13bus  
       2014-07-06 20:53:25 +08:00
    但是不知道是不是用了redis,感觉是不是这个提醒系统他是单独加了redis?
    jalen
        7
    jalen  
       2014-07-07 10:49:18 +08:00
    @cbsw 知乎的呢?
    cbsw
        8
    cbsw  
       2014-07-07 11:02:46 +08:00 via Android
    @no13bus 应该是用redis做的
    @jalen 知乎据说是用过nodejs和tornado,他们倒是会不刷新推送提醒的,这种对服务器性能要求较高,所以选用了事务驱动的异步框架
    no13bus
        9
    no13bus  
       2014-07-07 11:32:37 +08:00
    @cbsw 实时的就是用ajax吧。不懂。redis现在还没看明白,有一些实际使用例子就好了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2751 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 11:40 · PVG 19:40 · LAX 03:40 · JFK 06:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.