星界の浪人 发表于 2012-9-20 09:16:20

紧急求助Cache适配器问题,教程上的方法在2.1.2根本无效

折腾了整整2天了人都快崩溃了

无论怎么试都无效






人都快疯了{:soso_e118:}

kissgxd 发表于 2012-9-20 09:23:18

你安装memcached了么

星界の浪人 发表于 2012-9-20 12:32:51

本帖最后由 星界の浪人 于 2012-9-20 13:04 编辑

kissgxd 发表于 2012-9-20 09:23 http://codeigniter.org.cn/forums/static/image/common/back.gif
你安装memcached了么

装了,调试过了 就是这个适配器的问题

星界の浪人 发表于 2012-9-20 12:42:38

本帖最后由 星界の浪人 于 2012-9-20 12:48 编辑

kissgxd 发表于 2012-9-20 09:23 http://codeigniter.org.cn/forums/static/image/common/back.gif
你安装memcached了么




即便是使用file 也是报save()这个方法不存在

使用适配器 但适配器完全不识别函数

这个已经和使用哪一种缓存无关了,关于Cache模块的整个适配器功能是无效的

星界の浪人 发表于 2012-9-20 13:00:01

本帖最后由 星界の浪人 于 2012-9-20 13:05 编辑

找到原因了

在Load方法的最后 框架使用了 $CI =& get_instance(); 获取原始资源



可悲的是这个$CI 和调用LOAD 的$this更本不是同一个东西

如果这么写就运行正常了,无语至极



说白了适配器的那个Load根本没有把初始化的方法放到 $this 里面去 是我用的有问题还是2.1.2的bug?

星界の浪人 发表于 2012-9-20 13:14:57



这样就正常了,3个字 "逗你玩"{:soso_e111:}{:soso_e111:}{:soso_e111:}

大道达人 发表于 2012-9-29 08:54:17

       
//这样试下呢
        $this->load->driver('cache');

                if ( ! $foo = $this->cache->get('foo'))
                {
                   echo 'Saving to the cache!<br />';
                   $foo = 'foobarbaz!';

                   // Save into the cache for 5 minutes
                   $this->cache->save('foo', $foo, 300);
                }

                echo "<pre>";
                print_r($this->cache->cache_info());
                print_r($this->cache->get_metadata('foo'));
                //        $this->cache->delete('foo');
                echo "</pre>";

                echo $foo;

                /**/
                echo "<br/>";
                echo "Memcache启动<br/>";

                if ($this->cache->memcached->is_supported())
                {
                        if ( ! $cier = $this->cache->memcached->get('CIER'))
                        {
                           echo 'Memcache CIER !<br />';

                           $cier = 'Memcache CIER !';

                             //         Save into the cache for 5 minutes
                           $this->cache->memcached->save('CIER', $cier, 300);
                        }
                        else
                        {
                                echo "读取缓存 ";
                                echo $cier;
                        }
                }
                else
                {
                        echo "Memcache启动失败";
                }

shugong 发表于 2012-9-29 11:30:55

没用过这个功能,但是顶一下楼主{:soso_e100:}

浪迹天涯 发表于 2012-10-12 15:55:00

。。。。。。。。。。。

浪迹天涯 发表于 2012-10-12 16:03:54

亲,一直以来都是这么用的,并不需要像你说的那样改动。
如下图,结果是111
页: [1] 2
查看完整版本: 紧急求助Cache适配器问题,教程上的方法在2.1.2根本无效