Redis 初探(6)——Redis 集群

之前我们所学习的都是 Redis 的单机版,我们知道 Redis 之所以读取速度快是因为它是存储在内存中的。内存的容量是有限的,单台 Redis 会碰到性能瓶颈,这就需要使用 Redis集群(Redis-cluster)。 一、集群原理1.1 集群架构 如上图所示,每一个蓝色圆圈就是一个 Redis 节点,这些节点组成了一个 Redis集群(Redis-cluster)。节点之间使用 Ping——...

最长上升子序列(LIS)算法

理解:该子序列中后一项都比前一项大,例如有序列2 7 1 5 6 4 3 8 9,则最长上升子序列为2 5 6 8 9。 具体应用:用于确定一个代价最小的调整方案,使一个序列变为升序。只需要固定LIS中的元素,调整其他元素即可。 动态规划实现 O(n2)我们将序列存入数组a中,定义一个dp数组,存放最大长度。 2 7 1 5 6 4 3 8 9 我们能够得出一个规律: dp[i] = 前面v...

最长公共子序列(LCS)算法

一、最长公共字串与最长公共子序列1.1 最长公共子串(Longest Common Substirng)子串是串的一个连续的部分,子串中字符的位置必须连续。 例如:有两个字符串ABCBDAB 和 BDCABA,则它们的最长公共子串是:AB。 1.2 最长公共子序列(Longest Common Subsequence,LCS)子序列是从串中去掉任意的元素而获得新的序列,子串中字符的位置不必连续。 ...

最小生成树(Prim)算法

算法思想 假设G=<V,E>是连通图,TE是G上最小生成树中边的集合。 算法从U={u0}(u0∈V),TE={ }开始,任取一个顶点u0作为开始点。 重复执行下述操作:在所有u∈U, v∈V-U的边(u,v)∈E中找一条代价最小的边(u0,v0)并入集合TE,同时v0并入U,直至U=V为止。 注意:选择最小边时,可能有多条同样权值的边可选,此时任选其一。 代码实现12345...

最短路径(Dijkstra)算法

一、算法功能给定一个出发点(单源点)和一个有向网G=(V, E), 求出源点到其它各顶点之间的最短路径。 二、算法思想(1)把图中顶点集合分成两组,第一组为集合S,存放已求出其最短路径的顶点,第二组为尚未确定最短路径的顶点集合是V-S(令W=V-S),其中V为网中所有顶点集合。 (2)按最短路径长度递增的顺序逐个把W中的顶点加到S中,直到S中包含全部顶点,而W为空。 (3)在加入的过程中,总保持从...

Java 反序列化漏洞分析

2015年11月6日FoxGlove Security安全团队的@breenmachine 发布了一篇长博客,阐述了利用Java反序列化和Apache Commons Collections这一基础类库实现远程命令执行的真实案例,各大Java Web Server纷纷躺枪,这个漏洞横扫WebLogic、WebSphere、JBoss、Jenkins、OpenNMS的最新版。而在将近10个月前, G...

Nginx 初探(5)——Nginx的高可用

一、回顾通过前面四章的学习,学会了Nginx的安装、配置虚拟主机、反向代理、负载均衡,这基本上就是 Nginx 的大概内容了。 我们知道,nginx 其实是一个代理,客户端通过 nginx 才能够访问到后面的应用服务器(tomcat等)。那么如果 nginx 宕机,即使后面的应用服务器没有出现故障,客户端也不能正常访问了,因此保证 nginx 的高可用十分重要。 二、keepalived既然 ng...
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×