为了账号安全,请及时绑定邮箱和手机立即绑定

Yii2使用Redis缓存购物车等数据

标签:
Yii

服务器配置Redis

Redis下载安装配置

wget http://download.redis.io/releases/redis-stable.tar.gz
tar -xvf redis-stable.tar.gzcd redis-stable/
make
make install
./utils/install_server.sh

安装成功:

https://img1.sycdn.imooc.com//5d2dcf85000117df07220458.jpg

redis

Redis服务查看、开启、关闭

ps -ef|grep redis
/etc/init.d/redis_6379 start
/etc/init.d/redis_6379 stop
service redis_6379 start
service 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...}



作者:八宝粥BBZ
链接:https://www.jianshu.com/p/f19fb01735aa

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消