yii redies 不同的工程缓存key的问题
参考这篇文章
基本配置操作:
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的问题的更多相关文章
- yii 1.1简单文件缓存
缓存组件配置在config\main.php文件,简单配置下文件缓存 'components'=>array( 'cache' => array( 'class' => 'syste ...
- 在YII中使用Redis等缓存
Yii AR 单行数据-自动缓存机制 | LOCKPHP Yii AR 单行数据-自动LOG机制 CActiveRecordBehavior进阶 | LOCKPHP 缓存 - 权威指南 - Yii F ...
- ASP.NET Core ResponseCaching:基于 VaryByHeader 定制缓存 Key
ASP.NET Core ResponseCaching 提供了缓存http响应内容的能力,通过它可以在本地内存中直接缓存http响应内容,这是速度最快的服务端缓存,省却了网络传输与生成响应内容的开销 ...
- 自动生成缓存Key值的CacheKeyHelper
/// <summary> /// CacheKeyHelper /// </summary> public class CacheKeyHelper { /// <su ...
- .NET Memcached Client 扩展获取所有缓存Key
.NET Memcached Client默认实现中并没有获取所有已经缓存Key的方法,但在业务中有时候需求中需要通过正则删除符合条件的缓存内容,所以就要通过读取已经缓存Key进行相关的匹配,然后删除 ...
- redis缓存切面实现(支持缓存key的spel表达式)
1.定义注解 package com.g2.order.server.annotation; import java.lang.annotation.ElementType; import java. ...
- Yii 2.0 使用片段缓存
网站首页footer中的菜单标题是从数据库读取并显示处理的. 也就是 <footer>标题里面是foreach.这样每个人打开网站就查询遍历效率会很低. <footer class= ...
- APC | Memcache等缓存key冲突的解决的方法
版权声明:https://github.com/wusuopubupt https://blog.csdn.net/wusuopuBUPT/article/details/24397109 apc.m ...
- 微信小程序如何修改本地缓存key中的单个数据
假如用户注册后,获得用户手机号和userid,realName默认为0,然后进入B页面进行实名认证,认证成功后realName变为1,再更新缓存里的用户信息. A页面用户注册后,存储用户信息: var ...
随机推荐
- SQLServer学习笔记系列2
一.写在前面的话 继上一次SQLServer学习笔记系列1http://www.cnblogs.com/liupeng61624/p/4354983.html以后,继续学习Sqlserver,一步一步 ...
- RSA加密数学原理
RSA加密数学原理 */--> *///--> *///--> UP | HOME RSA加密数学原理 Table of Contents 1 引言 2 RSA加密解密过程 2.1 ...
- iOS滤镜实现之Nashville【instagram】
Nashville是Instagram众多滤镜中最惊艳的一款,独特的奶昔色调赋予照片童话般的唯美感觉.适用范围:营造浪漫唯美的感觉.的确如此啊有2张输入图像 顶点着色有2组坐标NSString *co ...
- Android Studio快捷键每日一练(5)
原文地址:http://www.developerphil.com/android-studio-tips-of-the-day-roundup-5/ 42.Enter键和Tab键补全 快捷键:Ent ...
- 【UWP】使用Action代替Command
在Xaml中,说到绑定,我们用的最多的应该就是ICommand了,通过Command实现ViewModel到View之间的命令处理,例如Button默认就提供了Command支持,如下 Xaml: & ...
- VS2015如何新建MVC空模版项目
直接看图吧:
- 【c#搬砖记】用Docx导出word格式的docx文件
DocX开源网址:http://docx.codeplex.com/ 1.引入DocX.dll 调用ReplaceText()方法替换模板中的字符.只支持docx格式的word文档 using (Do ...
- iOS 阶段学习第11天笔记(OC基础知识)
iOS学习(OC语言)知识点整理 一.OC基础知识 1)#import 用于导入头文件,预处理阶段加载引用,只加载一次. 2)OC 依赖于Foundation框架下的头文件Foundation.h, ...
- 【Java每日一题】20161117
package Nov2016; public class Ques1117 { public static void main(String[] args) { Sub sub = new Sub( ...
- jsp--- jsp图片上传到了正确路径,但在正确路径显示不出来
首先要说的是,路径里没有中文 图片也在正确路径 ************************************ 刷新(Refresh)一下项目