![](https://img-blog.csdnimg.cn/20190927151124774.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
redis
redis
骷大人
这个作者很懒,什么都没留下…
展开
-
高并发下使用redis实现分布式锁
高并发下redis使用nx sex命令和lua脚本分别实现分布式锁。原创 2023-05-29 15:33:37 · 217 阅读 · 0 评论 -
Docker持久化方式-v和-volume的区别
docker数据的持久化一直用的是-v的方式,又叫Bind Mounts(目录绑定),偶然间发现还有一种通过卷轴来实现持久化的方式,翻了下资料,整理了一下两种方式使用的场景。原创 2023-04-24 10:50:03 · 989 阅读 · 0 评论 -
使用docker搭建lnmp环境+redis服务
lnmp搭建过程,前文已经写了,本文主要写一下运行redis容器和php-fpm容器内安装redis扩展。原创 2023-04-14 11:24:05 · 569 阅读 · 0 评论 -
PHP面试宝典2023
php面试时经常会问一些理论性的问题,给大家整理了些,很多都是网上找的,难免有不严谨的地方,望请大家指正,共勉原创 2023-03-09 20:44:20 · 1548 阅读 · 0 评论 -
php框架 Hyperf 与redis分布式锁 这样写
分布式锁,即分布式系统中的锁。在单体应用中我们通过锁解决的是控制共享资源访问的问题,而分布式锁,就是解决了分布式系统中控制共享资源访问的问题。与单体应用不同的是,分布式系统中竞争共享资源的最小粒度从线程升级成了进程。具备可重入特性(可理解为重新进入,由多于一个任务并发使用,而不必担心数据错误)在分布式系统环境下,一个方法在同一时间只能被一个机器的一个线程执行。具备非阻塞锁特性,即没有获取到锁将直接返回获取锁失败。具备锁失效机制,即自动解锁,防止死锁。高可用的获取锁与释放锁。高性能的获取锁与释放锁。转载 2023-02-28 12:21:24 · 362 阅读 · 0 评论 -
高并发用redis的zset类型缓存数据
高并发的情况下,过滤黑名单。使用redis的zset(有序集合)判断,ip是否属于其中。原创 2023-02-26 15:09:31 · 251 阅读 · 0 评论 -
PHP使用redis中setnx防止大并发下二次写入
在大并发下会出现同时多个php进程写入的情况,这个时候需要加一个锁,即获取锁的php进程有权限写。思路是:设置一个锁的key,setnx是原子操作,只能一个进程写入成功,写入成功返回true(表示获取锁权限),然后写入内容再释放锁即删除锁key。获取不到锁的进程直接返回。转载 2023-02-14 17:25:24 · 571 阅读 · 0 评论 -
使用workerman/redis-queue做队列(订阅)
手上有一个短信群发通知功能,考虑到日后单个时间通知的手机号会有点多,故打算用workerman里的redis队列功能来实现(thinkphp6框架下)。原创 2022-11-21 19:59:20 · 1727 阅读 · 0 评论 -
php 处理库存超卖的几种处理方法
第一种方法:使用mysql数据库的锁机制。在事务中使用 for update 语句,在事务处理完成之后释放这一条数据。代码使用tp5的框架:public function mysqlLock(){$goods_id = 26545;$sku_id = 26545;$price = 300;$user = '';StoreOrderModel::startTrans();$nums = StoreOrderModel::where(['id'=>1])->fiel.转载 2021-12-30 11:31:03 · 1047 阅读 · 0 评论 -
linux的configure,make和make install命令怎么用
configure(配置)configure文件是一个可执行的脚本文件,它有很多选项。其中–prefix选项是配置安装目录,如./configure --prefix=/usr/local/test,若不配置该选项,安装后可执行文件默认放在/usr /local/bin,库文件默认放在/usr/local/lib,配置文件默认放在/usr/local/etc,其它的资源文件放在/usr /local/share,比较凌乱,且安装在一个目录后续删除和复制都比较容易(操作应用文件夹就好)。configur原创 2021-12-07 14:54:04 · 1585 阅读 · 0 评论 -
Redis 发布订阅
开启本地 Redis 服务,开启两个 redis-cli 客户端。在第一个 redis-cli 客户端输入 SUBSCRIBE runoobChat,意思是订阅 runoobChat 频道。在第二个 redis-cli 客户端输入 PUBLISH runoobChat “Redis PUBLISH test” 往 runoobChat 频道发送消息,这个时候在第一个 redis-cli 客户端就会看到由第二个 redis-cli 客户端发送的测试消息。...原创 2021-09-13 16:41:39 · 79 阅读 · 0 评论 -
redis缓冲雪崩,缓冲击穿,缓存穿透
原创 2021-08-03 01:04:58 · 136 阅读 · 1 评论 -
PHP 知识点整理归纳
基础篇了解大部分数组处理函数array_chunk—将一个数组分割成多个 array_column—返回数组中指定的一列 array_combine—创建一个数组,用一个数组的值作为其键名,另一个数组的值作为其值(另一种意义的合并数组)array_flip—交换数组中的键和值array_key_exists—检查数组里是否有指定的键名或索引array_key_first— Gets the first key of an array array_key_last—...转载 2020-09-15 15:54:18 · 2107 阅读 · 0 评论 -
thinkphp6使用配置redis
使用composer安装"predis/predis"完毕,.env加入如下配置:[REDIS]HOST=127.0.0.1scheme=tcpPORT=6379CACHE_DB=0TOKEN_DB=1PASSWORD=adminconfig下redis配置文件redis.php<?php //Redis配置文件return [ 'scheme' => env('redis.scheme', 'tcp'), 'host' => env('redi原创 2021-05-14 17:10:36 · 4438 阅读 · 2 评论 -
redis安装及判断运行状态
这里多了一个关键字 PREFIX= 这个关键字的作用是编译的时候用于指定程序存放的路径。比如我们现在就是指定了redis必须存放在/usr/local/redis目录。假设不添加该关键字Linux会将可执行文件存放在/usr/local/bin目录,原创 2021-05-14 10:09:09 · 11371 阅读 · 4 评论 -
Redis之Set类型和SortedSet类型的介绍和案例应用
一. Set类型基础1. 类型说明 1个key→多个value,value的值不重复! Set一种无序且元素内容不重复的集合,不用做重复性判断了,和我们数学中的集合概念相同,可以对多个集合求交集、并集、差集,key可以理解成集合的名字。注:set 用哈希表来保持字符串的唯一性,没有先后顺序,是按照自己的一个存储方式来遍历,因为没有保存插入顺序。2. 常用指令Api说明3. 常用Api说明(1).SetAdd:添加数据,可以单独1个key-1个value,也可以1个key-转载 2021-05-13 11:49:48 · 2158 阅读 · 1 评论 -
redis事务multl,exec,watch
Redis事务的概念: Redis 事务的本质是一组命令的集合。事务支持一次执行多个命令,一个事务中所有命令都会被序列化。在事务执行过程,会按照顺序串行化执行队列中的命令,其他客户端提交的命令请求不会插入到事务执行命令序列中。 总结说:redis事务就是一次性、顺序性、排他性的执行一个队列中的一系列命令。 Redis事务没有隔离级别的概念: 批量操作在发送 EXEC 命令前被放入队列缓存,并不会被实际执行,也就不存在事务内的查询要看到事务里的更新,事务外查询不能看到。Redis不转载 2021-05-07 11:56:21 · 2056 阅读 · 1 评论 -
redis常用命令整理
redis常用的命令。原创 2021-01-11 11:35:37 · 12522 阅读 · 4 评论 -
php下用redis解决秒杀超卖问题
秒杀超卖问题,就是有一个商品抢购活动,一个商品假如有100件库存,但是在抢购时有200人来抢购,这时就会并发,原本只有100的库存但是抢购的人过多,就会发生数据库里原本只有100的库存但是库存为0的时候还会有人提交成功,这就是超卖。 今天简单的用redis的队列来解决超卖问题。因为redis有list类型,list类型其实就是一个双向链表。通过push,pop操作从链表的头部或者尾部添加删除元素。这使得list既可以用作栈,也可以用作队列。先进先出 一端进 一端出这就是队列。这里用redis就解决...转载 2020-09-04 17:19:06 · 1963 阅读 · 2 评论