摘要: 最近一直在做关于结算方面的需求,也熟悉了一些处理金额显示的方法,总结如下:1.每三位数字以逗号分隔,比如1000 => 1,000.可以直接使用number_format函数。eg:echo number_formant(10000);2.保留两位小数,且四舍五入。$number = 1234.56... 阅读全文
posted @ 2016-01-11 15:13 freephp 阅读(1749) 评论(0) 推荐(0)
摘要: 最近一直在研读《代码简洁之道》这本书,里面很多非常细致的对代码重构和简化的好的思想和方法值得学习,我做了一些笔记,在之前的一些博客中也有涉及。关于注释,各家有各家的想法。有人认为注释越详细越好,从目的到参数含义,无微不至的去写注解,比如api接口之类的。也有人认为,涉及复杂的业务逻辑,需要写必要注释... 阅读全文
posted @ 2016-01-08 09:51 freephp 阅读(2872) 评论(0) 推荐(2)
摘要: 之前聊redis的文章比较多了,但还没写一下安装和配置方面的总结。总的来说,一般运行环境都是centos,开发环境无外乎windows,linux,mac os,我在这三个平台都安装和部署过redis server。唯一通用的就是源码编译,快速安全又简单。1.下载一个redis源码包。wget ht... 阅读全文
posted @ 2016-01-04 15:00 freephp 阅读(309) 评论(1) 推荐(0)
摘要: 打算自己封装一个Redis操作类,方便使用,且有一定log记录。Redis的封装思路:基于Redis类进一步封装一般属性 单例 (配置参数从配置文件中读取还是写死?考虑多配置之间切换)常规操作根据业务单独处理。(注意健壮性和容错)目的不同,可能做的封装也同。我们要基于业务做一些抽象程度较低的封装,也... 阅读全文
posted @ 2016-01-04 11:29 freephp 阅读(1769) 评论(0) 推荐(0)
摘要: 函数应该做一件事。做好这件事。只做这一件事。所以我们简化代码的一个简单方式就是不断拆分函数(Extract Method),一直拆分,拆分到不能再分出一个函数为止。拆函数的过程就是一个概括目的、步骤,提取抽象层次动名词的过程。不要做只是解释代码的简单概括,要让函数中的语句处于一个相同抽象层次,如果是... 阅读全文
posted @ 2016-01-02 17:35 freephp 阅读(1917) 评论(0) 推荐(0)
摘要: 6.改读缓存文件的。缓存除了memcache和redis这种key-value的存储外,还可以用文件缓存。一般这种方式都适合存一些变化不频繁的小量数据,比如地区表的数据。原理也很简单,就是读表数据,然后利用var_export到某个文件。代码如下: if (file_exists('cac... 阅读全文
posted @ 2016-01-02 15:12 freephp 阅读(599) 评论(0) 推荐(0)
摘要: 5.从数据库同步到redis的。redis把数据放内存里,读取都非常方便,也提供了远超memcache的丰富数据结构。下面我举2个例子,比如1)把数据从数据库写入到redis:"; $sql = "select * from $table;"; $datas = $mysql->sele... 阅读全文
posted @ 2016-01-02 14:19 freephp 阅读(749) 评论(0) 推荐(0)
摘要: 3.同步数据到其他表的。这种又分插入和更新字段两种情况,除了sql方面的逻辑外,要考虑记录执行sql和变化前后数据记录。总是要做最坏的打算,一旦更新错了还能回滚数据。比如在更新之前先记录被更新的数据记录到某表(新建表)或文件中。在编写阶段也做到先跑一条数据,然后再进循环去测试。一步一步,小心驶得万年... 阅读全文
posted @ 2016-01-02 10:11 freephp 阅读(836) 评论(0) 推荐(0)
摘要: 历史数据迁移到分表的。(以前单表几十G的表,需要做优化分表)背景:之前项目因为历史原因使用的是mssql,其中有大量的各种log表,需要完整地迁移到mysql的按照日期分表的分表里。由于数据量大和表当初设计的一些缺陷,所以在迁移的时候要考虑查询效率和执行效率问题。我采用的方式如下:每一个表一个fun... 阅读全文
posted @ 2016-01-01 18:05 freephp 阅读(1485) 评论(0) 推荐(0)
摘要: 前段时间一直在写一些跑数据的脚本,今天刚好有时间总结一下。一般来说,分成2种,一种是写在单个文件中的任务,数据库驱动之类的直接include进来。运行的时候:cd /path/to/project/usr/local/php5.x/php task.php另外一种是套在框架内部的某个contorll... 阅读全文
posted @ 2016-01-01 17:01 freephp 阅读(969) 评论(0) 推荐(0)