资讯专栏INFORMATION COLUMN

redis五种常见使用场景下PHP实现

garfileo / 3107人阅读

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

前言

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

实现

基于redis字符串string类型的简单缓存实现

基于redis列表list类型的简单队列实现

基于redis字符串setnx的悲观锁实现

基于redis事务的乐观锁实现

基于redis的发布订阅实现

测试用例

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/eas...

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

纠错

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

补充:发起pull request的commit message请参考文章Commit message编写指南
Easy PHP:一个极速轻量级的PHP全栈框架

扫面下方二维码关注我的技术公众号,及时为大家推送我的原创技术分享

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/22384.html

相关文章

  • SegmentFault 技术周刊 Vol.37 - 分布式缓存利器:Redis

    摘要:持久化到中反向代理的负载均衡基于的集群搭建如何实现从中订阅消息转发到客户端的扩展是阻塞式,使用订阅发布模式时,会导致整个进程进入阻塞。缓存是用于解决高并发场景下系统的性能及稳定性问题的银弹。 showImg(https://segmentfault.com/img/bVYE6k?w=900&h=385); Redis 是由意大利程序员 Salvatore Sanfilippo(昵称:a...

    binaryTree 评论0 收藏0
  • Redis基础:基本介绍、redis的应用场景五种数据类型、持久化操作、主从模式

    摘要:区别的是会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了主从同步。存盘可以有意无意的对数据进行写操作。二的应用场景缓存常常作为数据缓存。如果只用类型,就可以被看作加上持久化特性的。 一、Redis基本概念介绍和特性 1.1 Redis基本概念介绍     showImg(https://segmentfault.com/img/bVWpvd?w=50...

    QLQ 评论0 收藏0

发表评论

0条评论

garfileo

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<