- 博客(9)
- 收藏
- 关注
原创 高并发下Redis如何保持数据一致性(避免读后写)
“读后写” 通常意义上我们说读后写是指针对同一个数据的先读后写,且写入的值依赖于读取的值。关于这个定义要拆成两部分来看,一:同一个数据;二:写依赖于读。(记住这个拆分,后续会用到,记为定义一、定义二)只有当这两部分都成立时,读后写的问题才会出现。在项目中,当面对较多的并发时,使用redis进行读后写操作,是非常容易出问题的,常常使得程序不具备鲁棒性,bug很难稳定复现(得到的值往往跟并发数有关
2017-12-28 17:17:58
67206
4
原创 用redis实现悲观锁(后端语言以php为例)
锁机制通常使用的锁分为乐观锁,悲观锁这两种,简单介绍下这两种锁,作为本文的背景知识,对这类知识已经有足够了解的同学可以跳过这部分。乐观锁先来看下百度百科上的解释:[大多是基于数据版本( Version )记录机制实现。何谓数据版本?即为数据增加一个版本标识,在基于数据库表的版本解决方案中,一般是通过为数据库表增加一个 “version” 字段来实现。读取出数据时,将此版本号一同读出,之后更新时,对此
2017-03-16 19:30:30
8389
1
原创 php与ajax交互——实现php实时返回结果给ajax,并在后台保持继续运行的方法
一个简单的让php将结果返回前端,并继续在后台运行的方法
2016-05-12 21:03:02
18455
1
原创 浏览器刷新页面/关闭页面时,使用jquery+ajax保存数据的方法
使用jquery+ajax实现:修改页面内容,延迟传输到后台进行保存,并在刷新或关闭页面时,及时保存数据。
2016-04-14 17:19:06
13727
原创 Thinkphp关联模型使用field或getField函数
最近写个人项目,遇到个小坑——Thinkphp关联模型使用field函数时必须包含relation_foreign_key,否则无法关联。
2016-04-08 21:24:22
3115
原创 Bootstrap框架使用拖拽插件Nestable
最近写个项目,前端页面需要使用拖拽功能,秉着不要重复造轮子的心态,在网上找到一个靠谱的插件Nestable,很好用。但在使用中依然发现了部分问题。最直观的一个就是当将一个dd-list中的所有dd-item元素都拖拽到其他地方时(此时该dd-list为空),此时如果想要再将某dd-item拖拽回该dd-list,就无法进行了。 硬着头皮去看了下Nestable的代码,还真找到了解决办法,希望对需要
2016-03-23 19:30:15
14496
原创 PHPUnit测试私有属性和方法
一、测试类中的私有方法:class Sample{ private $a = 0; private function run() { echo $a; }} 上面只是简单的写了一个类包含,一个私有变量和一个私有方法。对于protected和private方法,由于无法像是用public方法一样直接调用,所以在使用phpunit进行单测的时候,多有
2015-12-17 16:12:33
4145
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人