收藏本站 Archiver
    请 后使用快捷导航
    没有账号?入住 CI 中国社区
    楼主: xgdd1987

    [核心代码 Core] 有关CI页面缓存问题的终极解决方案

    [复制链接]
    11
    发表于 2009年9月21日 12:28:27 | 只看该作者
    顺便问下。。。
    如何实现类似smarty 的局部缓存
    ^_^
    12
    发表于 2009年9月21日 15:52:41 | 只看该作者
    过期自动删除?谁都没实现吧?过期的缓存会在下次打开的时候自动更新!
    kazaff 发表于 2009年9月21日 11:52

    过期自动删除是在下次访问的时候触发的
    13
    楼主| 发表于 2009年9月21日 16:26:14 | 只看该作者
    顺便问下。。。
    如何实现类似smarty 的局部缓存
    ^_^
    sky8652 发表于 2009年9月21日 12:28
    你说的局部缓存是指只缓存某个页面吗??如果你只想缓存某个页面,这个都可以啊。。。。
    14
    发表于 2009年9月22日 17:54:07 | 只看该作者
    view我觉得还是用smarty好些,那东东功能强悍
    15
    发表于 2009年9月27日 00:52:07 | 只看该作者
    本帖最后由 LSvKing 于 2009年9月27日 00:56 编辑

    这个怎么实现每当数据有改动就更新缓存,而平常不更新呢?
    1.是不是在写输出view之前先 $this->output->clear_page_cache 然后在 $this->output->cache?
    2.然后还有就是缓存目录结构是怎么安排的? 额,忘了看了,原来是控制器+方法名
    16
    发表于 2009年10月9日 21:06:59 | 只看该作者
    额,刚给你打了半天回复内容,一个误操作全没了。重打
    最近没上线,刚看了你给我回的帖子,吓了我一跳: "我认为身为中国人,写的程序就得兼容中文才行,而不是去禁止用中文。。",再严重点感觉我都快成汉奸了。
    没那么严重,程序安全第一,CI开发者限定那几个字符作为URI应该有安全因素,我不修改为中文有两个原因:
    一、你看现在网络链接地址使用中文的还不多,而且我认为至少目前我没打算路径使用中文。
    二、如果要传递中文,可以使用GET获得,看贴http://codeigniter.org.cn/forums/thread-692-1-1.html
    我挺支持楼主说验证成功信息后再生成缓存。
    楼主说我那代码调用失败,我刚又试了,没问题呀!可能楼主在使用时没有看好说明,调用
    $this->output->cache_rsegment(4,__FILE__,1);
    参数用法看说明http://codeigniter.org.cn/forums/thread-3336年1月1日.html
    如果没有使用上面的那句的话,效果就是CI默认的缓存效果。
    如果还有不明白的再找我。
    我这个调用上是有些麻烦,但是增加了安全性,可以防止恶意多传递信息,生成不必要的缓存。
    还有,支持楼主说验证信息成功后再生成缓存一说。
    17
    楼主| 发表于 2009年10月9日 23:03:35 | 只看该作者
    16# crgod
    哈哈。。
    18
    发表于 2010年9月1日 16:20:37 | 只看该作者
    为什么用了你的方法,每次刷新页面,缓存文件都随着变动呢?
    19
    发表于 2010年9月4日 15:12:55 | 只看该作者
    这里有没人试过这个方法呀~~晕呀~~按照楼主的方法,的确可以生成文件夹+缓存文件,但是真的能防止缓存攻击吗~~我试了一下,还是会生成好多垃圾缓存文件的,除非自己判断segment的个数
    20
    发表于 2010年9月4日 17:19:30 | 只看该作者
    view我觉得还是用smarty好些,那东东功能强悍
    Jack 发表于 2009年9月22日 17:54



    smarty 再强大,能有 PHP 强大吗?
    view 用 PHP 是最强大的,性能也是最好的,可读性也不比 smarty 差。
    下一页 »
    1 23 4 5 6 下一页
    返回列表
    您需要登录后才可以回帖 登录 | 入住 CI 中国社区

    本版积分规则

    AltStyle によって変換されたページ (->オリジナル) /