函数的长度

通过分析自己的代码,写代码的时候,我给自己定了几条纪律: 1.给自己制定了类代码行数不超过400 如果类的行数超过了400,需要重新思考,类设计是否合理,能不能拆分 2.函数行数不超过25 为什么是25行?我平时写代码的用的13寸的Mac Pro,编辑区的字体大小是17,25行正好是一屏。如果代码行数超过了25,那个就要注意了。需要反思自己的设计和实现是不是有问题、逻辑是否清晰、程序结构是不是有问 … 继续阅读

MySQL连接数过多的处理方法汇总

MySQL连接数过度的异常 碰到Can not connect to MySQL server. Too many connections”-mysql错误着实令人抓狂。这基本等于失去了对 MySQL 的控制权 一、连接数过度出现的原因 出现 MySQL 连接数过多有多种情况,多数是因为mysql_connect ,没有 mysql_close; 当sleep连接占满最大连接数max_connec … 继续阅读

Redis的持久化

最近要对看了生产环境的Redis配置文件,对redis的持久化比较感兴趣,于是整理了相关的内容,用来加深记忆。 Redis有两种持久化的方式:快照(RDB文件)和追加式文件(AOF文件): RDB持久化方式会在一个特定的间隔保存那个时间点的一个数据快照。 AOF持久化方式则会记录每一个服务器收到的写操作。在服务启动时,这些记录的操作会逐条执行从而重建出原来的数据。写操作命令记录的格式跟Redis协 … 继续阅读

一致性哈希算法

一致性哈希算法 一致性哈希算法是一种分布式哈希(DHT)算法,设计目标是为了解决因特网中的热点(Hot spot)问题。一致性哈希算法是一种负载均衡算法。 一致性哈希的原理 环形Hash空间 按照常用的hash算法来将对应的key哈希到一个具有2^32次方个桶的空间中,即0~(2^32)-1的数字空间中。现在我们可以将这些数字头尾相连,想象成一个闭合的环形。 然后把数据通过一定的hash算法处理后 … 继续阅读

负载均衡算法

负载均衡 负载均衡,英文名称为Load Balance,指由多台服务器以对称的方式组成一个服务器集合,每台服务器都具有等价的地位,都可以单独对外提供服务而无须其他服务器的辅助。通过某种负载分担技术,将外部发送来的请求均匀分配到对称结构中的某一台服务器上,而接收到请求的服务器独立地回应客户的请求。负载均衡能够平均分配客户请求到服务器阵列,借此提供快速获取重要数据,解决大量并发访问服务问题,这种集群技 … 继续阅读