php cache缓存 购物车,Yii2使用Redis缓存购物车等数据
服务器配置Redis
Redis下载安装配置
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服务查看、开启、关闭
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...
}
php cache缓存 购物车,Yii2使用Redis缓存购物车等数据相关推荐
- SpringBoot2.0 基础案例(13):基于Cache注解模式,管理Redis缓存
本文源码 GitHub地址:知了一笑 https://github.com/cicadasmile/spring-boot-base 一.Cache缓存简介 从Spring3开始定义Cache和Cac ...
- python使用redis做缓存_python实现类redis缓存
越来越觉得的缓存是计算机科学里最NB的发明(没有之一), 现在项目用的是redis做的缓存, 它的两个特性用的蛮顺手的: 键值查找功能 缓存可设置过期时间 突突然的,觉得用python也可以简单的模拟 ...
- java redis缓存清除_java基础-redis缓存篇
Redis的数据类型 Redis总共支持5种数据类型,分别是: 类型 说明,命令 String set ,get Hash HMSET myhash field1 "Hello" ...
- php使用redis实现购物车功能,ThinkPHP5+Redis实现购物车
本篇文章是通过ThinkPHP5和Redis实现购物车,功能包括:购物车列表.添加购物车.获取部分商品.获取部分商品总数量.获取全部商品总数量.商品减一.修改商品数量.删除商品.清空购物车,这些功能基 ...
- java redis缓存使用_java使用redis缓存数据库
开始在 Java 中使用 Redis 前, 我们需要确保已经安装了 redis 服务及 Java redis 驱动,maven配置如下 redis.clients jedis 2.9.0 Redis ...
- Redis缓存穿透、击穿、雪崩、预热、更新、降级
Redis是高性能的分布式内存数据库,对于内存数据库经常会出现下面几种情况,也经常会出现在Redis面试题中:缓存穿透.缓存击穿.缓存雪崩.缓存预热.缓存更新.缓存降级.本篇分别介绍这些概念以及对应的 ...
- Redis 缓存穿透、雪崩、缓存数据库不一致、持久化方式、分布式锁、过期策略
1. Redis 缓存穿透 1.1 Redis 缓存穿透概念 访问了不存在的 key,缓存未命中,请求会穿透到 DB,量大时可能会对 DB 造成压力导致服务异常. 由于不恰当的业务功能实现,或者外部恶 ...
- Spring Boot Redis缓存
Spring Boot Redis缓存 目录[ 隐藏 ] 1 Spring Boot Redis缓存 1.1 Spring Boot Redis项目设置 1.2 Spring Boot Redis缓存 ...
- 2022年Redis最新面试题 - Redis缓存问题
缓存问题 分布式缓存 Redis缓存雪崩 Redis缓存击穿 Redis缓存穿透 缓存预热 缓存降级 #Redis缓存雪崩 出现概率: ★★★★★ 这个在Redis面试的题目中算是出镜率特别高的问题了 ...
最新文章
- 对于“网站快照”的认识你停留在哪个阶段?
- Android空间WebView和ViedeoView的使用
- leetcode 636. Exclusive Time of Functions | 636. 函数的独占时间(Stack)
- vue页面跳转后返回原页面初始位置
- 没有基础的人可以学python吗-没有任何基础的人,该如何学习Python?「附具体步骤」...
- 逐步理解SpringMVC
- STM32学习笔记(正点原子STM32Mini版)
- tl wn322g linux驱动下载,TP-Link TL-WN322G+网卡驱动
- Burp suite - Burp Clickbandit
- 淘宝天猫自动领取喵币
- 顶级猎头的十大成功特征
- 用计算机看影碟是数字化过程,2012年上海市高中《信息科技》学业水平考试1-5(含答案)...
- 如何快速写作论文初稿?
- java:数学运算的取最大、最小、绝对值的函数方法
- SQL server 删除某一列
- 免费字体下载,在线设计,不怕找不到好字体
- SpringCloud(Hoxton SR6)微服务工具集学习笔记
- 不用会编程,也能做软件,无代码技术是否真有这么神奇?
- Lion的无线网络诊断工具
- java如何获取手机号码_java中如何提取一个字符串中的电话号码?
热门文章
- MAC OSX10.9.2上搭建Apache,php
- APUE读书笔记-第14章-高级I/O
- mysql date_format 按不同时间单位进行分组统计
- 模拟jQuery构造对象
- python代码示例图形-Python使用统计函数绘制简单图形实例代码
- 为何python不好找工作k-给急着找工作的人一些建议,别在被骗了!
- python快速自学方式-Python怎样自学?
- python教程书籍推荐-买Python入门书籍,我推荐这一本
- python 3读取文件-python3的txt文件读写
- 开课吧python学费-开课吧成为CNCC中国计算机大会唯一教育合作伙伴