![]() | 1 fansgentle 2013-02-20 09:54:48 +08:00 redis ? |
![]() | 2 felinx 2013-02-20 13:05:31 +08:00 ![]() cache有一个beaker可用,简单的cache其实很容易实现,我就自己写过一个。 |
![]() | 3 skyangel3 OP @felinx cache 要控制内存, python可以直接写吗, 还是要用C写Extension. beaker 不错, 现在可能暂时不用cache吧, 要是流量大了, 可能就用memcache 处理把, 还有好像beaker 跟python tornado 不兼容, 一个帖子看到的。 |
![]() | 4 crossmaya 2013-02-22 00:21:10 +08:00 没看懂。。。 |
![]() | 5 reorx 2013-02-22 20:45:36 +08:00 @felinx beaker 略重,而且好像是专门给 WSGI 框架设计的,用在 tornado 上有点不契合。 memcache 非常适合了,几乎也不用写多少额外的代码。lz 说的控制内存是什么意思?cache 的确需要内存控制,但肯定是由提供cache功能的程序来完成了,和 python 就没有关系了呀。另外,python 的内存控制是由语言自身的垃圾回收机制完成的,不能进行细致的控制,但可以通过 del 和 reassign 变量来触发,gc 模块来做一些设定。 |
![]() | 6 btwo 2013-02-22 20:47:52 +08:00 我最近也向学习下tornado 有tornado +MYSQL的开源项目做参考吗? |
7 wodemyworld 2013-02-23 00:43:09 +08:00 redis就可以 |
![]() | 8 felinx 2013-02-23 14:13:49 +08:00 ![]() @btwo 我很早就写过一个,算比较早的用tornado做的开源项目了 https://bitbucket.org/felinx/poweredsites ,是站点 http://poweredsites.org 的源代码,里面就包含一个我说的自己写的cache。 @reorx 没错beaker和tornado不默契,所以我写个简单的玩。 |
![]() | 9 tonyseek 2013-02-25 14:45:23 +08:00 如果用 redis 或者 memcached 之类的外部缓存,最好在内部增加一层用 weakref 的第二层缓存,第二层缓存可以用 LRU 来清理,防止缓存雪崩的问题。 |