Yii2使用Redis:缓存购物车

服务器配置Redis

Redis下载安装配置

1
2
3
4
5
6
wget http://download.redis.io/releases/redis-stable.tar.gz
tar -xvf redis-stable.tar.gz
cd redis-stable/
make
make install
./utils/install_server.sh

安装成功

redis

Redis服务查看、开启、关闭

1
2
3
4
5
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中添加

1
"yiisoft/yii2-redis": "~2.0.0"

并执行

1
composer update

配置common/config/main.php

1
2
3
4
5
6
7
8
'components' => [
'redis' => [
'class' => 'yii\redis\Connection',
'hostname' => 'localhost',
'port' => 6379,
'database' => 0,
],
],

购物车接口

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
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;
}
八宝粥 wechat
欢迎您扫一扫上面的微信公众号,订阅我的博客!