是啵。好像之前没留意到这个。是从哪个版本开始有的?

Mike.G wrote:
> 这样的话,和什么进程啊。线程啊就无关了。
> 直接指定memcached的cluster.
> 丢过去就好了。
>
>
>
> 2009/8/21 Mike.G <[email protected] <mailto:[email protected]>>
>
>
>         Choosing a Cache Subclass - with CHI
>
>     The |CHI| API is implemented by a variety of drivers, for example
>     |CHI::Driver::File|, |CHI::Driver::FastMmap|, and
>     |CHI::Driver::Memcached|.
>
>     |CHI::Driver::File| is the default, but you can override this with
>     the /driver/ keyword. The value must be the name of a
>     |CHI::Driver| subclass; the prefix "CHI::Driver::" need not be
>     included. For example:
>
>         my $cache = $m->cache(driver => 'Memcached', servers => [ ... ]);
>         my $result = $cache->get('key');
>         $cache->set(key => $result);
>
>     You can even specify different subclasses for different keys in
>     the same component. Just make sure the correct value is passed to
>     all calls to |$m->cache|; Mason does not remember which subclass
>     you have used for a given component or key.
>
>
>
>     贴一下文档。
>
>
>     *^-^*
>
>
>
>
>     2009/8/21 Mike.G <[email protected] <mailto:[email protected]>>
>
>         恩。呵呵。是有些偏差。我的意思是mason使用基于chi的缓存的话,可
>         以直接cache存到memcached.
>
>         因为chi本身就有memcached的driver.
>
>         namespace是一个问题。
>
>
>
>
>         2009/8/21 蒋宇捷 <[email protected] <mailto:[email protected]>>
>
>             可能有一个理解偏差,mason使用的cache,无论是什么模块,它是
>             运行在apache上的,无论worker还是prefork模式,都是基于
>             apache子进程的(fork),每个子进程为了并发执行,相互独立,
>             有属于自己的程序段、数据段。
>
>             所以,运行在apache多进程模式下的mason cache如果基于memory
>             cache,那么这个memory是在子进程里的,相互之间是隔离、不同
>             步的。
>
>             以上这部分是我的理解,另外记得在masonhq或者是mason
>             maillist里也有提到,可惜刚才找了半天没找到:(
>
>             我说的memcached是指建立专门的Memcached服务器,通过Cache::
>             Memcached模块访问,这就不通过apache了。
>
>             Btw:刚才忘说了,mason cache也是基于组件的,这一点也比较麻烦。
>
>             *发件人:* [email protected]
>             <mailto:[email protected]>
>             [mailto:[email protected]
>             <mailto:[email protected]>] *代表 *Mike.G
>             *发送时间:* 2009年8月21日 11:21
>             *收件人:* [email protected]
>             <mailto:[email protected]>
>             *主题:* Re: 答复: 答复: 答复: 答复: [PerlChina] 再来一个调
>             查:用PERL来开发WEB,我更喜欢...
>
>             好像mason可以使用memcached
>             我看到文档上说目前使用的是Cache::Cache,但是已经支持了CHI了。
>             对于CHI, 那么就可以使用Memcache了。它有Memcache的driver.
>
>             我想蒋兄说的这个可能是不是误会了?
>             mason应该是不存在你说的这种私有cache的吧?(可能是我错
>             了),这个也是根据key来的啊。
>
>             刚想了想,我觉得可能用在小些的站点上,以页面为导向的,展示
>             不太变动的数据,或者是小时间范围更新的时间数据:比如说好友
>             动态,可能10分钟,或者是5分钟可以查一次的,这种,或者是一
>             天更新,或者是几天更新一次的数据。在页面中,可能是先根据
>             key从cache中去取,有的话,取出来,直接显示,没有的话,调用
>             后面的代码取得数据,大站点有点多此一举就是了,小站点,以页
>             面为导向的,还是比较有用的。
>
>             2009/8/21 蒋宇捷 <[email protected] <mailto:[email protected]>>
>
>             Mason本身的cache我用的不多,用的更多的是Cache::Memcached。
>
>             因为Mason本身的cache,当使用内存缓存的时候,Apache每个子进
>             程之间都会各自保留自己的cache值,所以这个值不是唯一确定
>             的。举个例子,页面计数器,计数当使用cache存放时,不同页面
>             请求可能对应不同的Apache子进程,所以刷新页面显示计数时数字
>             会不停来回变化,1->2->1>3类似。
>
>             所以cache一般用在存放不会要求很精确,不需要频繁变动,变化
>             不大的值。当然可以使用文件缓存解决上面的这个问题,但是性能
>             就会低一些,对于多web服务器的集群还需要考虑使用nfs等共享机制。
>
>             而且除非是频繁重复使用的值,可以先cache,如果不是,是每次
>             页面请求生成的,就没有必要使用了。
>
>             用户信息的存放一般使用Cache::Memcached,好用不贵。
>
>             *发件人:* [email protected]
>             <mailto:[email protected]>
>             [mailto:[email protected]
>             <mailto:[email protected]>] *代表 *Mike.G
>             *发送时间:* 2009年8月21日 9:46
>             *收件人:* [email protected]
>             <mailto:[email protected]>
>             *主题:* Re: 答复: 答复: 答复: [PerlChina] 再来一个调查:用
>             PERL来开发WEB,我更喜欢...
>
>             那是。主要是觉得TT名字好,尤其是MM叫。这个是不是有些流氓了?
>             *^-^*
>
>             哈哈。
>             不开玩笑了。
>             不过mason最主要的问题,我还是觉得在使用mod_perl的时候,很
>             难讲业务代码和表示层分得更开。
>             虽然可以用昨天和蒋兄讨论的那个取巧的办法,可是看上去总是不
>             伦不类的。
>             另外不知道mason的cache到底该用在哪儿。
>
>             可能的用法(我没用过)
>             例如有个数组需要显示。
>             可以先查cache一把?
>             然后再调用action什么的?这看起来就是业务的逻辑了。
>
>
>             2009/8/21 Qiang (James) <[email protected]
>             <mailto:[email protected]>>
>
>             蒋宇捷 wrote:
>             > 我觉得mason容易一些 简单一些 tt需要对perl的package、
>             module、class、function
>             > 以及Apache::Request、CGI有一定的了解
>             >
>
>             TT++ 像 Jeff 说的很多情况下美工在使用 TT, 所以简单易用是很
>             重要的。而且
>             TT 在很多 Perl Web Framework 都是被推荐使用的模板系统。
>
>             Qiang
>
>
>
>
>
>
>
>


-- 
Perl乐事 -- http://www.perlersh.org
我的博客 -- http://www.perlersh.org/blog.html


--~--~---------~--~----~------------~-------~--~----~
您收到此信息是由于您订阅了 Google 论坛“PerlChina Mongers 讨论组”论坛。
 要在此论坛发帖,请发电子邮件到 [email protected]
 要退订此论坛,请发邮件至 [email protected]
 更多选项,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问该论坛
-~----------~----~----~----~------~----~------~--~---

回复