随笔分类 - redis
摘要:说起缓存穿透,大家都知道, 真正在使用过程中,很少有人感觉会缓存穿透, 其实在我们日常开发过程中,不知不觉 你就写了个bug , 下边是我们开发中发现的一种缓存穿透写法, 仅供参考: 缓存穿透写法 /* 错误写法示例 * * 解读: * * 当 $data_list 查询结果为空时候, 会导致 ms
阅读全文
摘要:简介 Redis模块负责与Redis数据库交互,并提供Redis的相关API支持; Redis模块提供redis与redis.connection这两个服务;redis.connection服务提供redis连接对象;redis服务提供Illuminate\Redis\RedisManager对象,
阅读全文
摘要:订单是我们在日常开发中经常会遇到的一个功能,最近在做一个订单过期与超时的开发。订单过期与超时就不用我解释了吧,其实两者都是同一个问题来着,就是订单未支付的处理,我们要做的是对这些未支付的订单到了一定时间就自动取消,好了,你第一反应那肯定就是做一个定时任务了!是的,就是定时任务,但是哪个才会是最佳方案
阅读全文
摘要:thinkphp 实现redis简单的消息队列 本章简单的实现。消息队列的入列和出列1.入列,入列作为生产者,只管尽情的成产即可,无需考虑其他 (秒杀、抢购场景除外)。 此次我们假如有十个用户进入队列。 //入列,生产者 public function into() { $redis = new R
阅读全文
摘要:前言:redis对许多后台开发者并不陌生,而php开发者PHPstudy这款集成环境大多都有所耳闻,那么如何在PHPstudy中安装redis扩展并启动redis呢?下面我们会将这些问题进行实操。 首先我们先查看自己的配置,在能够访问到的php文件中,输入phpinfo()函数查看环境配置 看到上面
阅读全文
摘要:前言: 秒杀这个问题,一直以来都是经典的面试题。但是秒杀也分大小。如果一个产品的用户不超过5w,上来就问双十一级别的秒杀。那就没有意思了~,所以今天就简单聊下一般条件下的秒杀的思路。方法只有两个,一个是装载秒杀商品。一个就是模拟用户进场秒杀。 工具介绍 首先环境就比较简单 Apache PHP 7.
阅读全文
摘要:Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 设置redis 密码 vi /usr/local/redis/etc/redis.conf 500 行左右 requirepass 123456 Redis支持
阅读全文
摘要:我们有一个小说系统,每天会有很多作者发布新的小说内容,而读者因为个人爱好可能只订阅他喜欢的类型的小说,比如历史类、玄幻类小说。小说系统每天会根据用户的口味推送相关的小说更新消息,这就用到了消息发布和订阅系统。 本文将结合实例介绍PHP操作RabbitMQ实现消息发布和订阅功能,本文假设您已经安装好R
阅读全文
摘要:RabbitMQ提供跨语言接口,我们可以使用主流编程语言Java,C,C++,Python,PHP等和RabbitMQ做对接。RabbitMQ有消息确认机制、灵活的路由控制、以及消息集群高可用,使得很多大型系统使用RabbitMQ做消息处理系统。 消息队列(Message Queue)是一种应用间的
阅读全文
摘要:RabbitMQ是一个开源的强大的企业消息系统,支持主流的操作系统,支持多种开发语言。我们项目中使用RabbitMQ作为消息队列,解耦业务,构建高可靠的消息队列系统。RabbitMQ可以用在订单系统、日志系统、数据收集等常见场景中。 本文我们介绍如何在CentOS上安装当前最新版的RabbitMQ:
阅读全文
摘要:如果你家店里某商品库存只有100件,现在店庆活动5折优惠大酬宾,假如现在有200个人疯狂涌入你家店里,为了避免发生疯抢和踩踏事件发生,店长您采取了排队限购的办法,1人限购1件,排队先到先买,卖完为止。 这个是实体店我们会看到的场景,100件商品,1人1件,最后200人中只有100人能买到商品,剩下1
阅读全文
摘要:1.在application目录下创建crontab模块(统一存放定时任务) 2.在command目录下创建Task.php 代码如下: <?php namespace app\crontab\command; use think\console\Command; use think\console
阅读全文
摘要:缓存数据与持久化数据的一致性,这个问题总结了一下(看到了一个不错的博文),其实就是读和写,还有就是要注意谁先谁后的问题。 Redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类key-value存储的不足,在部 分场合可以对关系数据库起到很好的补
阅读全文
摘要:前言:之前做过的一些项目中有时候会接触到消息队列,但是对消息队列并没有一个很清楚的认知,本篇文章将会详细分析和归纳一些笔记,以供后续学习。 一、消息对列概念 从本质上说消息对列就是一个队列结构的中间件,也就是说消息放入这个中间件之后就可以直接返回,并不需要系统立即处理,而另外会有一个程序读取这些数据
阅读全文
摘要:参数参考位置:thinkphp\library\think\cache\driver 方式一:控制器 方式二:符合类型缓存(配置文件) config.php 链接方式三:配置文件 // thinkphp 默认不能使用redis的push、lLen等操作,需要连接自带的redis.php 方式一和方式
阅读全文
摘要:##redis客户端连接数 ##redis连接数与最大连接数 1.查看 2.设置、修改 ##redis-cli命令控制行中获取客户端信息命令 CLIENT LIST获取客户端列表 CLIENT SETNAME 设置当前连接点redis的名称 CLIENT GETNAME 查看当前连接的名称 CLIE
阅读全文
摘要:thinkphp5选择redis库,让数据存入不同的redis库 在登录的时候把个人信息存入redis,选择redis库1号库, db1 读取redis里面的个人信息
阅读全文
摘要:参考手册 http://www.cnblogs.com/weafer/archive/2011/09/21/2184059.html redis 几种数据类型选择,参考 : https://blog.csdn.net/xlgen157387/article/details/60958657 http
阅读全文
摘要:redis windows phpstudy 安装扩展 1.http://windows.php.net/downloads/pecl/releases/redis/3.1.5rc1/ 2.http://windows.php.net/downloads/pecl/releases/igbinary
阅读全文
摘要:前言: redis不仅仅是单纯的缓存,它还有一些特殊的功能,在一些特殊场景上很好用。 本篇博文用来测试下使用redis来防止抢购商品超卖问题。 内容: 使用redis的list进行测试 思路是设置一个redis列表List,假设有十个商品,每次请求先判断List的长度,小于十就能抢到商品,将用户信息
阅读全文