为什么Yii Redis cache set()方法不创建第一个参数中指定的密钥.用于Append命令

San*_*gle 2 php caching yii redis

我正在研究PHP 5.3.10,Yii v1.1.14和Redis 2.2.12.我正在使用CRedisCache进行缓存(不是扩展).

我试过下面的简单代码

Yii::app()->cache->set($name, $data, 0);

此命令以redis格式存储数据,但指定值的键(以redis表示)不等于set()函数的第一个参数.(实际上我可以使用相同的密钥来检索缓存使用 Yii::app()->cache->get($name);)

实际上我想要附加值的精确redis键,附加我使用下面的代码.

Yii::app()->cache->executeCommand("APPEND",array("KEY" => $name, "DATA" => $data));
Run Code Online (Sandbox Code Playgroud)

关于获取redis密钥的任何想法.

小智 5

当我们使用CRedisCache时,它扩展了Ccache.php

'class' => 'CRedisCache',
'hostname' => 'localhost',
'port' => 6379,
'database' => 0,
'hashKey' => false,
'keyPrefix' => '',
Run Code Online (Sandbox Code Playgroud)

设置hashkey false,这样你的密钥将在你设置时被存储keyPrefix是一个以每个缓存键为前缀的字符串,将其设置为空