MySQL是最流行的开源数据库之一,我们在本地操作MySQL时,经常会因为不小心忘记了root帐号的密码,或者其他的原因,而导致无法正常连接数据库。另外,在局域网环境内,如何授权其他的服务器或主机连接...
通用架构模式和通用架构服务
架构模式是在给定上下文的软件架构中,针对常发生问题的一种通用、复用的解决方案。架构模式类似于软件设计模式,但是范畴更广。一个好的软件产品往往需要有良好的架构思想和架构服务来支撑整个软件的生命周期,本文...
一直在说高并发,多少 QPS 才算高并发?
一直在说高并发,多少QPS才算高并发?业务系统服务,单机,集群分别是多少呢?先来科普一下QPS和TPS这两个概念。 QPS:Queries Per Second意思是“每秒查询率”,是一台服务器每秒能...
Java 的可重入锁和不可重入锁
可重入锁又名递归锁,是指在同一个线程在外层方法获取锁的时候,再进入该线程的内层方法会自动获取锁(前提锁对象得是同一个对象或者class),不会因为之前已经获取过还没释放而阻塞。Java中Reentra...
Redis 的两种持久化方式及使用场景分析
Redis是内存数据库,数据都是存储在内存中,为了避免进程退出导致数据的永久丢失,需要定期将Redis中的数据以某种形式(数据或命令)从内存保存到硬盘。当下次Redis重启时,利用持久化文件实现数据恢...
redis 高可用主从,哨兵,集群解决方案
Redis因为其高性能和易用性在我们后端的服务中发挥了巨大的作用,并且很多重要功能的实现都会依赖redis。除了常用的缓存,还有队列,发布订阅等重要用处。所以redis的服务高可用就显得尤为关键。这里...
Redis 缓存穿透、缓存击穿、缓存雪崩的区别及解决方案
Redis缓存的使用,极大的提升了应用程序的性能和效率,特别是数据查询方面。但同时,它也带来了一些问题。其中,最要害的问题,就是数据的一致性问题,从严格意义上讲,这个问题无解。如果对数据的一致性要求很...
海量数据 Top K 问题的解决方案
Top K是很常见的一种问题,是指在N个数的无序序列中找出最大的K个数,而其中的N往往都特别大,对于这种问题,最容易想到的办法当然就是先对其进行排序,然后直接取出最大的K个元素就行了,但是这种方法往往...
影响世界的十大算法
什么是算法? 通俗而言,算法是一个定义明确的计算过程,可以一些值或一组值作为输入并产生一些值或一组值作为输出。因此算法就是将输入转为输出的一系列计算步骤。简而言之,算法就是可完成特定任务的一系列步骤,...
HashMap 在 JDK1.8 之前和之后的区别
哈希表(hash table),也叫散列表,是一种非常重要的数据结构,应用场景及其丰富,许多缓存技术(比如memcached)的核心其实就是在内存中维护一张大的哈希表,本文会对java集合框架中Has...
8