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
skyangel3
V2EX  ›  Python

我python tornado 新手, 大家用什么来实现cache, 要用第三方python library 吗?

  •  
  •   skyangel3 · 2013-02-20 06:12:50 +08:00 · 6857 次点击
    这是一个创建于 4302 天前的主题,其中的信息可能已经有所发展或是发生改变。
    9 条回复    1970-01-01 08:00:00 +08:00
    fansgentle
        1
    fansgentle  
       2013-02-20 09:54:48 +08:00
    redis ?
    felinx
        2
    felinx  
       2013-02-20 13:05:31 +08:00   ❤️ 1
    cache有一个beaker可用,简单的cache其实很容易实现,我就自己写过一个。
    skyangel3
        3
    skyangel3  
    OP
       2013-02-20 15:38:23 +08:00
    @felinx cache 要控制内存, python可以直接写吗, 还是要用C写Extension.

    beaker 不错, 现在可能暂时不用cache吧, 要是流量大了, 可能就用memcache 处理把,

    还有好像beaker 跟python tornado 不兼容, 一个帖子看到的。
    crossmaya
        4
    crossmaya  
       2013-02-22 00:21:10 +08:00
    没看懂。。。
    reorx
        5
    reorx  
       2013-02-22 20:45:36 +08:00
    @felinx beaker 略重,而且好像是专门给 WSGI 框架设计的,用在 tornado 上有点不契合。

    memcache 非常适合了,几乎也不用写多少额外的代码。lz 说的控制内存是什么意思?cache 的确需要内存控制,但肯定是由提供cache功能的程序来完成了,和 python 就没有关系了呀。另外,python 的内存控制是由语言自身的垃圾回收机制完成的,不能进行细致的控制,但可以通过 del 和 reassign 变量来触发,gc 模块来做一些设定。
    btwo
        6
    btwo  
       2013-02-22 20:47:52 +08:00
    我最近也向学习下tornado 有tornado +MYSQL的开源项目做参考吗?
    wodemyworld
        7
    wodemyworld  
       2013-02-23 00:43:09 +08:00
    redis就可以
    felinx
        8
    felinx  
       2013-02-23 14:13:49 +08:00   ❤️ 1
    @btwo 我很早就写过一个,算比较早的用tornado做的开源项目了 https://bitbucket.org/felinx/poweredsites ,是站点 http://poweredsites.org 的源代码,里面就包含一个我说的自己写的cache。

    @reorx 没错beaker和tornado不默契,所以我写个简单的玩。
    tonyseek
        9
    tonyseek  
       2013-02-25 14:45:23 +08:00
    如果用 redis 或者 memcached 之类的外部缓存,最好在内部增加一层用 weakref 的第二层缓存,第二层缓存可以用 LRU 来清理,防止缓存雪崩的问题。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1040 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 23:15 · PVG 07:15 · LAX 15:15 · JFK 18:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.