Yii2使用Redis缓存购物车等数据
服务器配置Redis
Redis下载安装配置
wget http://download.redis.io/releases/redis-stable.tar.gztar -xvf redis-stable.tar.gzcd redis-stable/makemake install./utils/install_server.sh
安装成功:
Redis服务查看、开启、关闭
ps -ef|grep redis/etc/init.d/redis_6379 start/etc/init.d/redis_6379 stopservice redis_6379 startservice redis_6379 stop
Yii2工程配置Redis
下载yii2-redis
在composer.json中添加
"yiisoft/yii2-redis": "~2.0.0"
并执行
composer update
配置common/config/main.php
'components' => [ 'redis' => [ 'class' => 'yii\redis\Connection', 'hostname' => 'localhost', 'port' => 6379, 'database' => 0, ], ],
购物车接口
public function actionSetcart(){ if (isset($_REQUEST['uid'])&&isset($_REQUEST['cart'])) { $uid = $_REQUEST['uid']; $cart = $_REQUEST['cart']; //Redis保存购物车数据:30分钟 $redis = Yii::$app->redis; $redis->set('cart:'.$uid, $cart); $redis->expire('cart:'.$uid, 30*60); $result['error'] = 0; $result['msg'] = '保存成功'; } else { $result['error'] = 1; $result['msg'] = '参数错误'; } return $result;}public function actionGetcart(){ if (isset($_REQUEST['uid'])) { $uid = $_REQUEST['uid']; //Redis保存购物车数据:30分钟 $redis = Yii::$app->redis; $cart = $redis->get('cart:'.$uid); $result['error'] = 0; $result['msg'] = '获取成功'; $result['cart'] = $cart ? $cart : ''; } else { $result['error'] = 1; $result['msg'] = '参数错误'; } return $result;}
根据IP限制接口访问
$ip = $_SERVER['REMOTE_ADDR'];$redis = Yii::$app->redis;$redis_ip = $redis->get('ip:'.$ip);if ($redis_ip) { # code...} else { $redis->set('ip:'.$ip, TRUE); $redis->expire('ip:'.$ip, 60); # code...}
关键字:php, yii2, redis
版权声明
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处。如若内容有涉嫌抄袭侵权/违法违规/事实不符,请点击 举报 进行投诉反馈!