1
fansgentle 2013-02-20 09:54:48 +08:00
redis ?
|
2
felinx 2013-02-20 13:05:31 +08:00 1
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 1
@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 来清理,防止缓存雪崩的问题。
|