- 博客(12)
- 资源 (4)
- 收藏
- 关注
原创 分布式集群Session共享 简单多tomcat8+redis的session共享实现
什么是Session 用户使用网站的服务,基本上需要浏览器与Web服务器的多次交互。HTTP协议本身是无状态的,需要基于HTTP协议支持会话状态的机制。这样的机制应该可以使Web服务器从多次单独的HTTP请求中看到“会话”,也就是知道那些请求是来自哪个会话的。 具体实现方式为:在会话开始时,分配一个唯一的会话表示(SessionId),通过Coo
2016-09-25 11:10:36 34043 18
原创 一致性Hash算法介绍(分布式环境算法)
应用场景 1. 数据库分表分库规则,数据库服务器扩容降低对之前原有数据库数据的影响,并达到负载的均衡。 2. 分布式缓存负载算法规则,缓存数据库扩容降低对之前原有缓存命中率的影响,对原有缓存服务器在负载都达到均衡。 ... ... 名称解释 一致性Hash:加入一个新节点,对已存在的节点的影
2016-09-10 09:50:28 6493 1
转载 Redis应用场景
缓存Redis的性能优于Memcached,且数据结构更多样化,支持多种过期淘汰策略;更重要的是支持持久化,持久化策略丰富。计数,生成唯一IDRedis的命令都是原子性的,可以轻松地利用INCR,DECR命令来构建计数器系统。同理,可以用INCR命令,为游戏玩家生成唯一的ID。示例:import java.util.Scanner;import r
2016-09-24 11:02:24 913
原创 MySQL慢查询优化 EXPLAIN详解
我们平台过一段时间就会把生产数据库的慢查询导出来分析,要嘛修改写法,要嘛新增索引。以下是一些笔记、总结整理慢查询排查 show status; // 查询mysql数据库的一些运行状态 show status like 'uptime'; // 查看mysql数据库启动多长时间,myisam存储引擎长时间启动需要进行碎片
2016-09-19 22:03:57 11259
原创 MySQL语句高效写法整理
优先使用INNER JOIN多表关联查询,扫描的行尽量少 关联的时候下条件减少扫描的行数SELECT ...FROM ad_ad_summary_for_pos_eq sum4eqINNER JOIN (SELECT id, NAME FROM wlw_area WHERE grade = 2) area ON
2016-09-19 22:03:06 4535
原创 MySQL最佳实践
一、核心军规 - 不在数据库做运算:cpu计算务必移至业务层 - 控制单表数据量:单表记录控制在1000w - 控制列数量:字段数控制在20以内 - 平衡范式与冗余:为提高效率牺牲范式设计,冗余数据 - 拒绝3B:拒绝大sql,大事物,大批量二、字段类军规 -
2016-09-19 22:00:52 997
原创 选择中医 - 养肾补肾方法
有的人牙龈萎缩,甚至牙根完全露出。从中医来看,肾主骨,牙齿为肾气所发,肾气充足,则牙龈色泽红润,且包紧牙根,牙齿很坚固。若肾气偏虚,或牙齿枯槁,或牙龈萎缩,使牙根暴露。当及时调补肾气,补肾固精是治本之道。养肾补肾当趁冬天,方法很多。关于如何养肾,可参考此篇: 黄豆更可以补肾。豆类是阳性食物,黄豆可以把上浮的相火收到肾里面去。 肾为先天之本
2016-09-19 21:58:14 2208
转载 AngularJS Directive 隔离 Scope 数据交互
什么是隔离 ScopeAngularJS 的 directive 默认能共享父 scope 中定义的属性,例如在模版中直接使用父 scope 中的对象和属性。通常使用这种直接共享的方式可以实现一些简单的 directive 功能。当你需要创建一个可重复使用的 directive,只是偶尔需要访问或者修改父 scope 的数据,就需要使用隔离 scope。当使用隔离 scope 的时候,dire
2016-09-14 08:16:35 592
原创 MongoDB分组
group(先筛选再分组,不支持分片,对数据量有所限制,效率不高) 【简单分组实测150W 12.5s】mapreduce(基于js引擎,单线程执行,效率较低,适合用做后台统计等) 【简单分组实测150W 28.5s】aggregate(推荐) (性能要高很多,并且使用上要简单些) 【简单分组实测150W 2.6s】
2016-09-11 15:50:19 2451 1
原创 AngularJS介绍
AngularJS 是什么? google动态web应用设计的一个js框架,是为了克服HTML在构建应用上的不足而设计的。AngularJS 的四个核心思想 1. 依赖注入(MVC) 2. 模块化 3. 双向数据绑定 4. 语义化标签(指令系统)AngularJS
2016-09-11 10:30:30 564
转载 大型网站系统架构的演化
前言 一个成熟的大型网站(如淘宝、京东等)的系统架构并不是开始设计就具备完整的高性能、高可用、安全等特性,它总是随着用户量的增加,业务功能的扩展逐渐演变完善的,在这个过程中,开发模式、技术架构、设计思想也发生了很大的变化,就连技术人员也从几个人发展到一个部门甚至一条产品线。所以成熟的系统架构是随业务扩展而完善出来的,并不是一蹴而就;不同业务特征的系统,会有各自的侧重点,例如淘宝,要解
2016-09-11 07:53:21 539
原创 数据库垂直拆分 水平拆分
当我们使用读写分离、缓存后,数据库的压力还是很大的时候,这就需要使用到数据库切分了。 数据库切人简单来说,就是指通过某种特定的条件,按照某个维度,将我们存放在同一个数据库中的数据分散存放到多个数据库(主机)上面以达到分散单库(主机)负载的效果。 切分模式: 垂直(纵向)拆分、水平拆分。垂直拆分
2016-09-10 08:48:41 18756 4
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人