redis 等 nosql 简单高效的解决了高并发场景下的一系列问题,并很大程度的解放了持久化 DB 的业务压力。
5 种使用场景都提供测试用例,使用方法:
运行结果:
执行 count 加 1 操作~
count 值为: 1
运行 php redis/test.php 获取参数列表
参数列表:
参数有误,正确示例: php redis/test.php p-lock
======================================
参数列表:
Array
(
[缓存] => cache
[队列] => queue
[悲观锁] => p-lock
[乐观锁] => o-lock
[消息订阅 /推送] => Array
(
[订阅] => sub
[推送] => pub
)
)
这是我的一个关于《一个 php 技术栈后端猿的知识储备大纲》的知识总结,目前只完成了“设计模式”。
如果大家发现有什么不对的地方,可以发起一个issue或者pull request,我会及时纠正, THX ~
补充:发起 pull request 的 commit message 请参考文章Commit message 编写指南
1
ydxred 2017-02-19 21:37:05 +08:00 1
前排...
|
2
ersic 2017-02-19 21:57:37 +08:00 via Android 1
收藏待看
|
3
zonghua 2017-02-20 00:25:28 +08:00 via iPhone 1
PHP 都这么多花样了
|
4
Lucups 2017-02-20 00:27:49 +08:00 2
恕我直言,这真的不是实战。。。
实战应该有具体的业务场景。 改为示例更为稳妥。 |
5
quericy 2017-02-20 00:35:30 +08:00 1
https://github.com/TIGERB/easy-tips/blob/master/redis/pessmistic-lock.php#L30
这里抢锁的时候是不是应该设置为$microtimeout 而不是$microtime ? |
8
torbrowserbridge 2017-02-20 09:09:15 +08:00
没有异常捕获,没有返回值判断,不及格
|
9
baoguok 2017-02-20 09:56:23 +08:00
感谢分享
|
10
TIGERB OP |
13
Patrick95 2017-02-20 10:19:10 +08:00
虽然不是真正意义的实战,但足够用来学习了!
|
14
mcfog 2017-02-20 12:19:18 +08:00
关于 redis 锁,分布式建议看 redlock https://redis.io/topics/distlock ,而单机锁参考 https://redis.io/commands/set 的后半部分
使用 PHP 本地时间的话,如果 PHP 有多台机器会乱 |
15
Jeremial 2017-02-20 12:53:48 +08:00
|
16
iyaozhen 2017-02-20 13:16:14 +08:00
1. 不和别的系统共享缓存的话,序列化使用原生的 serialization 是否更好?
2. list 做队列有个问题,当数据量很大的时候(消费速度赶不上生产速度) redis 会蹦,而且原生不支持分布式,扩展性较差。 PHP 原生支持异步回调不是太好,不然使用 BRPOP 指令消费更加合适,使用 RPOP 的话相当于轮训了 3. 演示发布订阅的话,是不是多启动几个订阅者更加好,体现广播的效果 |
18
changwei 2017-02-20 22:11:09 +08:00
segmentfault 上经常看见楼主,哈哈
|