Redis 五种常见使用场景下 PHP 实战

前言

redis等nosql简单高效的解决了高并发场景下的一系列问题,并很大程度的解放了持久化DB的业务压力。

实战

测试用例

5种使用场景都提供测试用例,使用方法:

  • 克隆项目: git clone git@github.com:TIGERB/easy-tips.git
  • 运行脚本: php redis/test.php [实例名称],
    例如测试悲观锁: 运行 php redis/test.php p-lock
运行结果:

执行count加1操作~ 

count值为:1
运行 php redis/test.php 获取参数列表

参数列表:

参数有误,正确示例:php redis/test.php p-lock 
====================================== 
参数列表: 
Array
(
    [缓存] => cache
    [队列] => queue
    [悲观锁] => p-lock
    [乐观锁] => o-lock
    [消息订阅/推送] => Array
        (
            [订阅] => sub
            [推送] => pub
        )

)

源码

源码地址 https://github.com/TIGERB/easy-tips

这是我的一个关于《一个php技术栈后端猿的知识储备大纲》的知识总结,目前只完成了“设计模式”。

纠错

如果大家发现有什么不对的地方,可以发起一个issue或者pull request,我会及时纠正,THX~

补充:发起pull request的commit message请参考文章Commit message编写指南

本作品采用《CC 协议》,转载必须注明作者和本文链接
本帖由系统于 6年前 自动加精
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 1

现在基本不用 setnx 去加锁吧,都是用 set ('test', 'test', 'EX', 10, 'NX') 这种,用 set 的 nx 参数去实现加锁,加锁的同时设置过期时间,用 setnx 加完锁后挂掉就悲剧了,锁就释放不了啦,还要将锁的值设置为到期时间,每次还要用当前时间戳和这个值去进行对比看过没过期,步骤比较繁琐,用 set 直接一步到位

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!