Yii2.0中使用redis作为缓存

Yii2.0中使用redis作为缓存

    • 背景
    • 安装redis插件
    • yii框架配置和使用

背景

因为业务升级,原来的单服务器升级为多服务器,并做负载均衡部署,但是发现上线后数据经常出现问题,后排查发现是缓存问题,因为之前用到是yii2.0框架中默认的缓存方式,把数据缓存到了代码所在服务器,导致负载均衡的各服务器之间缓存不同步,为解决这个问题,打算替换redis为文件缓存

安装redis插件

  1. 首先安装composer
  2. 配置项目中的composer.json文件
    我这里是这样加的:
 "require": {
        "php": ">=5.4.0",
        "yiisoft/yii2": "~2.0.6",
        "yiisoft/yii2-bootstrap": "~2.0.0",
        "yiisoft/yii2-swiftmailer": "~2.0.0",
        "phpoffice/phpexcel": "*",
        "yiisoft/yii2-redis": "^2.0"
    },
  1. 运行composer update使配置生效(这一步我发现,不仅仅会更新redis,其他的配置都会更新)

yii框架配置和使用

我这里的版本是2.0

  1. 首先配置web.php配置文件
 'cache' => [
	'class' => 'yii\redis\cache',
	'redis' => [
 		'hostname' => 'localhost',//这里Windows可以更换为127.0.0.1
		'port' => 6379,
		'database' => 0,
	]
],
  1. 代码中使用缓存
Yii::$app->cache->set('test',array(1,2,34)); //这里注意,保存的数据,无论是数组和对象,都会压缩为字符串存储起来,不过不影响使用
$res = Yii::$app->cache->get('test');
var_dump($res);die;

你可能感兴趣的:(yii,redis)