《关于MySQL的一些骚操作》
概要回顾以前写的项目,发现在规范的时候,还是可以做点骚操作的。假使以后还有新的项目用到了MySQL,那么肯定是要实践一番的。为了准备,创建测试数据表(建表语句中默认使用utf8mb4以及utf8mb4_unicode_ci,感兴趣的读者可以自行搜索这两个配置):CREATE TABLE `student` ( `id` int(11) 
并发环境下,先操作数据库还是先操作缓存?
并发环境下,先操作数据库还是先操作缓存?
值得收藏:《这 6 种实现负载均衡技术的方式不容错过》
负载均衡(Load Balance)是集群技术(Cluster)的一种应用,可以将工作任务分摊到多个处理单元,从而提高并发处理能力,有利于提升中大型网站的性能。接下来小编就为大家介绍6种实现负载均衡技术的方式:1. http重定向协议实现负载均衡根据用户的http请求计算出一个真实的web服务器地址,并将该web服务器地址写入http重定向响应中返回给浏览器,由浏览器重新进行访问。该
一步一图,带你了解分布式架构的前世今生
目录:什么是分布式架构?分布式架构的演进分布式服务面临的问题什么是分布式架构?分布式系统(distributed system)是建立在网络之上的软件系统,它有两个典型特点:内聚性 :每个数据库分布节点高度自治,有本地的数据库管理系统透明性 :每个数据库分布节点对用户的应用来说都是透明的,看不出是本地还是远程。也就是说,在分布式系统中,用户感觉不到数据是分布式的,不知道数据是否分割,有
使用无界队列的线程池会导致内存飙升吗?
(1)背景引入今天跟大家聊一个互联网大厂的Java面试题:使用无界队列的线程池会导致内存飙升吗?因为在面互联网大厂的时候,一定会问并发,问并发的时候一定会问到线程池,问到线程池一定会问构造线程池的一些参数的含义。然后,有一些面试官会就线程池的具体场景,问一些可能会遇到的问题。所以,在这里就可能有上述那样一个面试中的问题,算是Java面试里相对来说高阶一点的。我相信大家一定起码知道线程池是个什么东西
Java 种15种锁的介绍:公平锁,可重入锁,独享锁,互斥锁等等…
Java 中15种锁的介绍在读很多并发文章中,会提及各种各样锁如公平锁,乐观锁等等,这篇文章介绍各种锁的分类。介绍的内容如下:公平锁 / 非公平锁可重入锁 / 不可重入锁独享锁 / 共享锁互斥锁 / 读写锁乐观锁 / 悲观锁分段锁偏向锁 / 轻量级锁 / 重量级锁自旋锁上面是很多锁的名词,这些分类并不是全是指锁的状态,有的指锁的特性,有的指锁的设计,下面总结的内容是对每个锁的名词进行一定的解释。公
巧用这19条MySQL优化,效率至少提高3倍
本文我们来谈谈项目中常用的MySQL优化方法,共19条,具体如下:1、EXPLAIN做MySQL优化,我们要善用EXPLAIN查看SQL执行计划。下面来个简单的示例,标注(1、2、3、4、5)我们要重点关注的数据: type列,连接类型。一个好的SQL语句至少要达到range级别。杜绝出现all级别。key列,使用到的索引名。如果没有选择索引,值是NULL。可以采
Linux环境搭建Nginx+Tomcat负载均衡集群
Tomcat服务器是一个免费的开放源代码的web应用服务器,属于轻量级应用服务器,是开发和调试JSP程序的首选。由于Tomcat处理静态HTML的能力运不及Apache或者Nginx,所以Tomcat通常是作为一个Servlet和JSP容器,单独运行在后端。Nginx服务器能支持高达50000个并发连接数的响应,拥有强大的静态资源处理能力,运行稳定,并且内存、CPU等系统资源消耗非常低.通常情况下
Redis的数据结构及应用场景
一. 谈谈对redis的理解,它的应用场景。Redis是一个key-value存储系统,它支持存储的value类型包括string字符串、list链表、set集合、sorted Set有序集合和hash哈希等数据类型。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的,支持各种不同方式的排序。为了保证效率,Redis将数据都缓存在内存
分布式架构的演进过程
一个成熟的大型网站架构并不是一开始就设计的非常完美,也不是一开始就具备高性能、高可用、安全性等特性,而是随着用户量的增加,业务功能的扩展逐步完善演变过来的。在这个过程中,开发模式、技术架构等都会发生非常大的变化。而针对不同业务特征的系统,会有各自的侧重点,比如像淘宝这类的网站,要解决的是海量商品搜索、下单、支付等问题;腾讯,要解决的是数亿级别用户的实时消息传输;百度所要解决的是海量数据的搜索。架构
分布式缓存Redis使用心得
一、缓存在系统中用来做什么?1. 少量数据存储,高速读写访问。通过数据全部in-momery 的方式来保证高速访问,同时提供数据落地的功能,实际这正是Redis最主要的适用场景。2. 海量数据存储,分布式系统支持,数据一致性保证,方便的集群节点添加/删除。Redis3.0以后开始支持集群,实现了半自动化的数据分片,不过需要smart-client的支持。二、从不同的角度来详细介绍redis网络模型
千万级规模【高性能、高并发】互联网架构经验分享~
架构以及我理解中架构的本质在开始谈我对架构本质的理解之前,先谈谈对今天技术沙龙主题的个人见解,千万级规模的网站感觉数量级是非常大的,对这个数量级我们 战略上 要重 视 它 , 战术上又 要 藐 视 它 。先举个例子感受一下千万级到底是什么数量级?现在很流行的优步(Uber),从媒体公布的信息看,它每天接单量平均在百万左右, 假如每天有10个小时的服务时间,平均QPS只有30左右
一文弄懂“分布式锁”,一直以来你的选择依据正确吗?
一文弄懂“分布式锁”,一直以来你的选择依据正确吗?
百亿数据量下,掌握这些Redis技巧你大概就稳住了全场
百亿数据量下,掌握这些Redis技巧你大概就稳住了全场
RabbitMQ的前世今生
关于RabbitMQ 出身:诞生于金融行业的消息队列 语言:Erlang 协议:AMQP(Advanced Message Queuing Protocol 高级消息队列协议) 关键词:内存队列,高可用
填坑利器?Redis如何弥补传统MySQL架构的不足。
传统MySQL架构难以满足的现代应用程序需求包括:传统数据库的读/写速度对会话存储等用例不友好;引入新表或修改现有模式非常复杂,这也导致了添加新功能和应用程序会有困难;传统数据库会受到每秒可执行操作的数量和并发连接数的限制,所以在数据库实例增多的情况下,基础架构和维护成本也会增加。Redis和传统数据库结合会产生哪些化学反应呢?首先,如果应用程序的数据是存储在MySQL或其它关系型数据库中,那么R
Redis分布式锁的实现原理看这篇就够了~
一、写在前面现在面试,一般都会聊聊分布式系统这块的东西。通常面试官都会从服务框架(Spring Cloud、Dubbo)聊起,一路聊到分布式事务、分布式锁、ZooKeeper等知识。所以咱们这篇文章就来聊聊分布式锁这块知识,具体的来看看Redis分布式锁的实现原理。说实话,如果在公司里落地生产环境用分布式锁的时候,一定是会用开源类库的,比如Redis分布式锁,一般就是用Redisson
Netty原理分析往这边看!
Netty是一个高性能、异步事件驱动的NIO框架,它提供了对TCP、UDP和文件传输的支持,作为一个异步NIO框架,Netty的所有IO操作都是异步非阻塞的,通过Future-Listener机制,用户可以方便的主动获取或者通过通知机制获得IO操作结果。作为当前最流行的NIO框架,Netty在互联网领域、大数据分布式计算领域、游戏行业、通信行业等获得了广泛的应用,一些业界著名的开源组件
别再问我分布式锁了,看这篇就够了。
别再问我分布式锁了,看这篇就够了。
负载均衡在分布式架构中是怎么玩起来的?
什么是负载均衡(Load balancing)?