【发布时间】:2013-02-19 19:25:23
【问题描述】:
我的 YII 版本:1.1.12...暂且不提,我升级到 1.1.13 版本,但仍然无法使用。
我试过了:
Yii::app()->cache->set('someKey', $auctions);
$data = Yii::app()->cache->get('someKey');
print_r($data);
我看到了我存储的数据!但是,如果我尝试这样做:
Yii::app()->cache->set('someKey', $auctions, 10);
$data = Yii::app()->cache->get('someKey');
print_r( $data );
我什么都没看到?为什么 YII 忽略了我的时间间隔?我错过了什么?
** 编辑 **
我的缓存在配置中定义为:
'cache'=>array(
'class'=>'system.caching.CMemCache',
'useMemcached'=>false,
'servers'=>array(
array( 'host'=>'127.0.0.1', 'port'=> 11211, 'weight'=>60 ),
//array('host'=>'server2', 'port'=>11211, 'weight'=>40),
),
),
我知道 Memcache 可以正常工作,因为我已经在 YII 框架之外使用此示例对其进行了测试:
$memcache = new Memcache;
$memcache->connect("localhost",11211);
$tmp_object = new stdClass;
$tmp_object->str_attr = "test";
$memcache->set("mysupertest",$tmp_object,false,5);
var_dump($memcache->get("mysupertest"));
这行得通,并且该项目被缓存了 5 秒...
【问题讨论】:
-
在你的 conf 文件中你定义了什么类型的缓存?
-
我已经用更多信息更新了我的问题。
-
试试看
Yii::app()->cache->set('someKey', $auctions, 10);是否返回true -
它确实......但不知何故 1 秒后,缓存设置为 false,即使我用一些东西填充它......