参考这篇文章

基本配置操作:

yii main.php中:

return array(

...

'components'=>array(

'redis_cache' => array (
'class' => 'system.caching.CRedisCache',
'hostname' =>'127.0.0.1',
'port' => 6379,
'password'=>'123456',
'database'=>1
), ) ... )

  

其中:
class中的CRedisCache是Redis的官方插件;
如果设置了密码需要password项;
database制定对应的数据库

调用操作:
$r_key = “key”;
Yii::app()->redis_cache->set($r_key, 99999);
echo Yii::app()->redis_cache->get($r_key);

但是在Redis数据库中并未发现名为“key”的键值,是因为yii的redis插件默认对key会进行md5加密。
通过查看CRedisCahce的父类CCache可以知道在CRedisCache.php中需要声明以下两个变量:

public $hashKey = false;
public $keyPrefix = "";

  

即可解决问题。

另外,如果遇到中文乱码不能查看的问题,是因为Redis数据库默认ANSIC编码,输入命令是请使用:
./redis-cli –raw -h 127.0.0.1
连接即可。

官方文档请查看:http://www.yiiframework.com/doc/api/1.1/CRedisCache/

参考这篇文章虽然能解决cache 的问题,但是影响了所有的缓存问题,因为只需要在影响公用缓存部分起作用,其它的不起作用,所以

可以在CRedisCache的init做如下修改

    public function init()
{
//不用md5的key
//
$this->keyPrefix = '';
$this->hashKey = false; parent::init();
$this->getRedis();
}

yii redies 不同的工程缓存key的问题的更多相关文章

  1. yii 1.1简单文件缓存

    缓存组件配置在config\main.php文件,简单配置下文件缓存 'components'=>array( 'cache' => array( 'class' => 'syste ...

  2. 在YII中使用Redis等缓存

    Yii AR 单行数据-自动缓存机制 | LOCKPHP Yii AR 单行数据-自动LOG机制 CActiveRecordBehavior进阶 | LOCKPHP 缓存 - 权威指南 - Yii F ...

  3. ASP.NET Core ResponseCaching:基于 VaryByHeader 定制缓存 Key

    ASP.NET Core ResponseCaching 提供了缓存http响应内容的能力,通过它可以在本地内存中直接缓存http响应内容,这是速度最快的服务端缓存,省却了网络传输与生成响应内容的开销 ...

  4. 自动生成缓存Key值的CacheKeyHelper

    /// <summary> /// CacheKeyHelper /// </summary> public class CacheKeyHelper { /// <su ...

  5. .NET Memcached Client 扩展获取所有缓存Key

    .NET Memcached Client默认实现中并没有获取所有已经缓存Key的方法,但在业务中有时候需求中需要通过正则删除符合条件的缓存内容,所以就要通过读取已经缓存Key进行相关的匹配,然后删除 ...

  6. redis缓存切面实现(支持缓存key的spel表达式)

    1.定义注解 package com.g2.order.server.annotation; import java.lang.annotation.ElementType; import java. ...

  7. Yii 2.0 使用片段缓存

    网站首页footer中的菜单标题是从数据库读取并显示处理的. 也就是 <footer>标题里面是foreach.这样每个人打开网站就查询遍历效率会很低. <footer class= ...

  8. APC | Memcache等缓存key冲突的解决的方法

    版权声明:https://github.com/wusuopubupt https://blog.csdn.net/wusuopuBUPT/article/details/24397109 apc.m ...

  9. 微信小程序如何修改本地缓存key中的单个数据

    假如用户注册后,获得用户手机号和userid,realName默认为0,然后进入B页面进行实名认证,认证成功后realName变为1,再更新缓存里的用户信息. A页面用户注册后,存储用户信息: var ...

随机推荐

  1. Elasticsearch Javascript API增删改查

    查询 根据索引.类型.id进行查询: client.get({ index:'myindex', type:'mytype', id:1 },function(error, response){// ...

  2. Elasticsearch增删改查 之 —— Update更新

    更新操作,一般用这个的,应该不会很多吧!ES本身还是一个倾向于查询检索的框架,对于这种更新的操作,太过频繁总归是不好的. 不过阅读本篇后,你可以使用Script对所有的文档执行更新操作,也可以使用do ...

  3. 给swift程序猿留下深刻印象的10个Swift代码

    通过使用单行代码完成同样的 10 个练习,我们来看看 Swift 和其他语言之间的较量. 将数组中每个元素的值乘以 2 使用map来实现 var arr = [1,2,3,4]; var newArr ...

  4. 使用Nodejs+Protractor搭建测试环境

    Protractor是一个end-to-end的测试框架,从网络上得到的答案是Protractor是作为Angular JS应用程序的测试框架.它的构建基于Selenium WebDriver之上,且 ...

  5. 【C#】分享基于Win32 API的服务操作类(解决ManagedInstallerClass.InstallHelper不能带参数安装的问题)

    注:这里的服务是指Windows 服务. ------------------201508250915更新------------------ 刚刚得知TransactedInstaller类是支持带 ...

  6. MFC文件操作

    文件操作:二进制文件和文本文件的区别.二进制文件将数据在内存中存在的模式原封不动的搬到文件中,而文本文件是将数据的asc码搬到文件中.首先做一个读写文件的菜单,在CxxView里响应1.C的方式:fw ...

  7. Sqlserver2005日志文件太大,使其减小的方法

    Sqlserver2005日志文件太大,使其减小的方法: 运行下面的三行 dbName为数据库名: backup log dbNamewith NO_LOG backup log dbNamewith ...

  8. iOS阶段学习第15天笔记(NSArray与NSMutableArray 数组)

    iOS学习(OC语言)知识点整理 一.OC中的数组 1)数组:也是一个对象,数组中存放的是对象的地址,可以存放任意类型对象的地址,只能是对象不能是具体的数值,数组是有序的,      可以存放重复的元 ...

  9. 孙鑫MFC学习笔记2:C++回顾

    1.通常可以把实例与对象等同起来 2.函数重载是发生在同一个类中的 3.函数的覆盖是发生在父类与子类之间的(函数被覆盖后可以使用父类的类名加作用域操作符::) 4.含有纯虚函数的类叫抽象类,抽象类无法 ...

  10. mysql 学习笔记 第二天

    插入表格数据: Insert into table_name set columns_1=value1,columns_2=value2,对于没有赋值的列,将会取默认值,并且这个方法只能一次插入一个数 ...