
Redis
尕夜寻欢
这个作者很懒,什么都没留下…
展开
-
laravel redis操作自动给key添加prefix前缀,原理分析
场景:在一台服务器上有两个独立项目:管理后台单独一个项目和api接口独立为另一个项目,在管理后台往队列里面push10个1 然后在api接口项目取得时候取不到,key没写错还是取不到 上图可以看到:options下面有prefix前缀配置,问题就出在这里,如果直接使用默认的redis操作, 'prefix' => Str::slug(env('APP_NAME', 'lara...原创 2019-11-01 11:31:44 · 10482 阅读 · 5 评论 -
如何应对缓存穿透和缓存雪崩问题
分析:这两个问题,说句实在话,一般中小型传统软件企业,很难碰到这个问题。如果有大并发的项目,流量有几百万左右。这两个问题一定要深刻考虑。 缓存穿透,即黑客故意去请求缓存中不存在的数据,导致所有的请求都怼到数据库上,从而数据库连接异常。 解决方案: (一)利用互斥锁,缓存失效的时候,先去获得锁,得到锁了,再去请求数据库。没得到锁,则休眠一段时间重试 (二)采用异步更新...原创 2018-09-07 12:04:03 · 527 阅读 · 1 评论 -
PHP- redis扩展安装(用过无数遍了,亲测好用)
下载地址:wget https://github.com/phpredis/phpredis/archive/develop.zip unzipdevelop.zip cd phpredis-develop/ whereis phpize (找到phpize文件路径然后执行) /usr/local/php7/bin/phpize (用phpize生成configure配置文件) whe...原创 2019-02-19 15:21:05 · 348 阅读 · 0 评论 -
php laravel 抢红包防止并发(超卖也是同理)
方案1: 原理:后台创建红包后,将红包个数存入redis,采用常量键名拼接红包id 作为key,红包个数为value存入redis,然后当用户领取红包的时候,前端肯定传红包id到后端,后端 先加redis锁,然后根据接收的红包id 读取key对应的值就是红包剩余个数,然后减1后再存入。 具体代码如下(php--laravel) 方案2:(不加锁利用redis原子性,...原创 2019-08-22 19:29:42 · 2046 阅读 · 0 评论