服务器配置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缓存购物车等数据相关推荐

  1. SpringBoot2.0 基础案例(13):基于Cache注解模式,管理Redis缓存

    本文源码 GitHub地址:知了一笑 https://github.com/cicadasmile/spring-boot-base 一.Cache缓存简介 从Spring3开始定义Cache和Cac ...

  2. python使用redis做缓存_python实现类redis缓存

    越来越觉得的缓存是计算机科学里最NB的发明(没有之一), 现在项目用的是redis做的缓存, 它的两个特性用的蛮顺手的: 键值查找功能 缓存可设置过期时间 突突然的,觉得用python也可以简单的模拟 ...

  3. java redis缓存清除_java基础-redis缓存篇

    Redis的数据类型 Redis总共支持5种数据类型,分别是: 类型 说明,命令 String set ,get Hash HMSET myhash field1 "Hello" ...

  4. php使用redis实现购物车功能,ThinkPHP5+Redis实现购物车

    本篇文章是通过ThinkPHP5和Redis实现购物车,功能包括:购物车列表.添加购物车.获取部分商品.获取部分商品总数量.获取全部商品总数量.商品减一.修改商品数量.删除商品.清空购物车,这些功能基 ...

  5. java redis缓存使用_java使用redis缓存数据库

    开始在 Java 中使用 Redis 前, 我们需要确保已经安装了 redis 服务及 Java redis 驱动,maven配置如下 redis.clients jedis 2.9.0 Redis ...

  6. Redis缓存穿透、击穿、雪崩、预热、更新、降级

    Redis是高性能的分布式内存数据库,对于内存数据库经常会出现下面几种情况,也经常会出现在Redis面试题中:缓存穿透.缓存击穿.缓存雪崩.缓存预热.缓存更新.缓存降级.本篇分别介绍这些概念以及对应的 ...

  7. Redis 缓存穿透、雪崩、缓存数据库不一致、持久化方式、分布式锁、过期策略

    1. Redis 缓存穿透 1.1 Redis 缓存穿透概念 访问了不存在的 key,缓存未命中,请求会穿透到 DB,量大时可能会对 DB 造成压力导致服务异常. 由于不恰当的业务功能实现,或者外部恶 ...

  8. Spring Boot Redis缓存

    Spring Boot Redis缓存 目录[ 隐藏 ] 1 Spring Boot Redis缓存 1.1 Spring Boot Redis项目设置 1.2 Spring Boot Redis缓存 ...

  9. 2022年Redis最新面试题 - Redis缓存问题

    缓存问题 分布式缓存 Redis缓存雪崩 Redis缓存击穿 Redis缓存穿透 缓存预热 缓存降级 #Redis缓存雪崩 出现概率: ★★★★★ 这个在Redis面试的题目中算是出镜率特别高的问题了 ...

最新文章

  1. 对于“网站快照”的认识你停留在哪个阶段?
  2. Android空间WebView和ViedeoView的使用
  3. leetcode 636. Exclusive Time of Functions | 636. 函数的独占时间(Stack)
  4. vue页面跳转后返回原页面初始位置
  5. 没有基础的人可以学python吗-没有任何基础的人,该如何学习Python?「附具体步骤」...
  6. 逐步理解SpringMVC
  7. STM32学习笔记(正点原子STM32Mini版)
  8. tl wn322g linux驱动下载,TP-Link TL-WN322G+网卡驱动
  9. Burp suite - Burp Clickbandit
  10. 淘宝天猫自动领取喵币
  11. 顶级猎头的十大成功特征
  12. 用计算机看影碟是数字化过程,2012年上海市高中《信息科技》学业水平考试1-5(含答案)...
  13. 如何快速写作论文初稿?
  14. java:数学运算的取最大、最小、绝对值的函数方法
  15. SQL server 删除某一列
  16. 免费字体下载,在线设计,不怕找不到好字体
  17. SpringCloud(Hoxton SR6)微服务工具集学习笔记
  18. 不用会编程,也能做软件,无代码技术是否真有这么神奇?
  19. Lion的无线网络诊断工具
  20. java如何获取手机号码_java中如何提取一个字符串中的电话号码?

热门文章

  1. MAC OSX10.9.2上搭建Apache,php
  2. APUE读书笔记-第14章-高级I/O
  3. mysql date_format 按不同时间单位进行分组统计
  4. 模拟jQuery构造对象
  5. python代码示例图形-Python使用统计函数绘制简单图形实例代码
  6. 为何python不好找工作k-给急着找工作的人一些建议,别在被骗了!
  7. python快速自学方式-Python怎样自学?
  8. python教程书籍推荐-买Python入门书籍,我推荐这一本
  9. python 3读取文件-python3的txt文件读写
  10. 开课吧python学费-开课吧成为CNCC中国计算机大会唯一教育合作伙伴