缓存服务器

java本地缓存

时光毁灭记忆、已成空白 提交于 2020-01-14 13:25:05
1、 为什么要使用缓存 由于服务器、数据库、网络等资源有限,无法支撑越来越多的请求与计算量,所以将一部分数据放在缓存中,以此减小薄弱环节的计算量和请求流程。 网站中缓存的应用场景: 1:可以缓存整个页面的html,提高访问响应能力; 2:针对局部页面元素进行缓存; 3:对复杂数据的结果进行缓存,例如一个查询需要结合多个数据集,然后根据这些数据集进行相应的运算,即使每个子集查询有缓存,但还是需要额外的运算,这种情况可以考虑缓存计算后的结果。 4:对耗时的查询进行缓存,例如产品列表页的查询。 5:和上下文相关的用户数据,例如用户从订单埴写页进入到订单成功页,或者是从产品列表页点击详细产品进行预订时的订单填写页,此时这两个页面之间都需要传递大量的相关数值,我们可以把所有的数值封装在一个类中,然后通过缓存进行通信。 2、 缓存的属性 缓存有以下几个重要属性: Ø 命中率:命中率指请求次数与正确返回结果次数的比例,越高越好。 影响缓存命中率的因素: 1:数据时实性,每个业务系统都对自己的数据有相应的要求,有些数据的实时性非常强,像每日的股票信息,这种情况如果设置了缓存,缓存的命中率会特别低。 2:缓存粒度问题,一般来说是缓存的跨度太大,即此时的KEY值包含的条件太多,会出现缓存命中率特别低的情况。 提高缓存命中率的方法: 1:增大存储介质的容量; 2:对非常热点的数据进行捕捉

Nginx 之五: Nginx服务器的负载均衡、缓存与动静分离功能

╄→гoц情女王★ 提交于 2020-01-14 05:42:08
一、负载均衡: 通过反向代理客户端的请求到一个服务器群组,通过某种算法,将客户端的请求按照自定义的有规律的一种调度调度给后端服务器。 Nginx的负载均衡使用upstream定义服务器组,后面跟着组名,组名后面是大括号包起来的服务器列表,每个服务器使用server开头,后面跟定义的服务器名字、服务器IP:Port、参数; 1:upstream要写在Server块的外面,可以有多个,名称不同即可,如下: upstream webserver { server 192.168.0.201; server 192.168.0.202; } server { server_name hfnginx.chinacloudapp.cn; #access_log logs/host.access.log main; location / { #首页负载之后端服务器 proxy_pass http://webserver; #通过upstrean定义的服务器组名调用后端服务器 proxy_set_header X-Real-IP $remote_addr; #传递客户端的ip地址 } location ~* ^/form { #后端Web服务器要有此目录 proxy_pass http://webserver; proxy_set_header X-Real-IP $remote_addr; }

Spring Boot整合REDIS

此生再无相见时 提交于 2020-01-14 03:37:23
Spring Boot整合redis 1.加入redis的起步依赖 2.在application.yml文件中整合redis单机版,使用redis作为缓存 3.测试缓存 3.1 在项目入口处使用@EnableCaching开启缓存 3.2 在Service实现类中使用缓存 在service实现类中的方法上使用@Cacheable注解,并且为此注解指定value属性值,此value属性值表示在缓存区域中开启的缓存的名称空间,并且将方法中的数据存储到该缓存中 4.如何证明SpringBoot使用的就是redis缓存而不是其他缓存 将项目停止,如果使用的是SpringBoot自审集成的缓存的话,缓存会被清空;如果使用的redis缓存,redis服务器一直保持启动状态下,会持久化我们的数据,再次启动项目后,数据会再次被加载 来源: CSDN 作者: 鱼缸前的猫吖 链接: https://blog.csdn.net/didiya_/article/details/103776993

Windows、Linux系统清理Redis缓存

不问归期 提交于 2020-01-14 02:35:05
1、Linux清理redis缓存: (方法一) 进入redis根目录下的 src 文件夹 执行命令: ./redis-cli 输入redis密码;auth “密码” 执行命令:dbsize查看大小 执行命令:flushall 执行命令:exit 清理完成 (方法二) 2、linux启动redis方法: 进入xshell中,连接服务器 首先进入weblogic目录下,执行语句:cd /home/weblogic/redis-5.0.2 执行命令:./runlog.sh 启动完成 3、windows环境下清理redis缓存方法: 先启动redis服务,在redis目录中找到start.bat文件并双击 以上代表成功启用redis服务 找到redis-cli文件,并双击 输入指令:flushall,出现ok代表清理成功,随后输入exit退出界面 清理完成后关闭redis服务,重新启动即可。 来源: CSDN 作者: 谁~✘主沉浮 链接: https://blog.csdn.net/hjghhhhj/article/details/103809353

HTTP性能极限优化

百般思念 提交于 2020-01-13 13:33:49
无论你在做前端、后端还是运维,HTTP都是不得不打交道的网络协议。它是最常用的应用层协议,对它的优化,既能通过降低时延带来更好的体验性,也能通过降低资源消耗带来更高的并发性。 可是,学习HTTP不久的同学,很难全面说出HTTP的所有优化点。这既有可能是你没好好准备过大厂的面试:-),也有可能你没有加入一个快速发展的项目,当产品的用户量不断翻番时,需求会倒逼着你优化HTTP协议。 这篇文章是根据我在2019年GOPS全球运维大会上海站的演讲PPT,重新提炼文字后的总结。我希望能 从四个全新的维度,带你覆盖绝大部分的HTTP优化技巧 。这样,即使还不需要极致方法去解决当前的性能瓶颈,也会知道优化方向在哪,当需求来临时,能够到Google上定向查阅资料。 第一个维度,是从编码效率上,更快速地把消息转换成更短的字符流。这是最直接的性能优化点。 一、编码效率优化 如果你对HTTP/1.1协议做过抓包分析,就会发现它是用“ whitespace-delimited ”方式编码的。用空格、回车来编码,是因为HTTP在诞生之初 追求可读性 ,这样更有利于它的推广。 然而在当下,这种低效的编码方式已经严重影响性能了,所以2009年Google推出了基于二进制的SPDY协议,大幅提升了编码效率。2015年,稍做改进后它被确定为HTTP/2协议,现在50%以上的站点都在使用它。 这是编码优化的大方向

HttpWatch简单功能字段含义介绍(二)

孤人 提交于 2020-01-13 01:13:33
一、缓存清空   浏览器默认支持缓存,在录制之前没有清空缓存,有可能某次访问直接从浏览器缓存中读取,而不会真的将请求发送给服务器,这样就不会录制到任何数据包。   这时需要清空缓存。 二、Overview 1、界面展示 2、字段含义介绍   (1)Display URL :表示请求的地址   (2)Started At :表示发送请求的时刻,为本地时间   (3)Connection Reuse : 表示与服务器建立了连接,显示本地链接地址和端口号。   (3)HTTP Request : 表示通过浏览器发出的请求。   (4)HTTP Response :服务器返回的头和内容信息。 三、Time Chart 1、界面展示   主要以直观的方式——线条,显示各部分耗时情况 2、字段含义介绍   (1)Blocked(阻塞):阻塞时间包括任何预处理时间(比如缓存查找)和等待网络连接的时间。浏览器显示一定数量的并发网络连接,如果已经达到极限后则后续请求需排队。   (2)DNS Lookup(DNS寻址):DNS解析一个主机名得到一个IP地址所耗费的时   (3)Connect(连接):连接是创建一个TCP连接到Web服务器(或代理)所需要的时间。   (4)Send(发送请求):是指发送HTTP请求消息到服务器所需时间。   (5)Wait(等待服务器响应时间)

缓存——redis——单机搭建(linux)

余生长醉 提交于 2020-01-12 16:12:27
目录 1、安装C语言环境(在线): 2、安装C语言环境(离线): (1)下载rpm依赖: (2)上传rpm包到服务器: (3)执行rpm安装命令: (4)验证gcc安装是否成功: 3、下载安装包: 4、解压安装包: 5、编译: 6、安装: 7、常用操作: (1)启动: (2)停止: 8、注册redis服务: (1)移动redis服务脚本: (2)修改配置redis服务脚本: (3)给redis服务授权: 9、开机自启redis服务: (1)添加服务到开机启动: (2)查看开机自启动项: 1、安装C语言环境(在线): yum install gcc-c++ 2、安装C语言环境(离线): (1)下载rpm依赖: A、centos6下载地址: http://mirrors.163.com/centos/6/os/x86_64/Packages/ B、Centos7下载地址: http://mirrors.aliyun.com/centos/7/os/x86_64/Packages/ 需要的rpm名称: mpfr-3.1.1-4.el7.x86_64.rpm libmpc-1.0.1-3.el7.x86_64.rpm kernel-headers-3.10.0-957.el7.x86_64.rpm glibc-headers-2.17-260.el7.x86_64.rpm glibc

mysql innodb 存储引擎

霸气de小男生 提交于 2020-01-12 09:39:27
--MySQL 结构有两部分组成 1.MySQL server 层 2.存储引擎层 --注:到 存储引擎层之前都属于 MySQL server 层 MySQL 5.1到 5.7 ,大版本 没有变化 , 小版本 唯一的变化就是 存储引擎 ,MySQL server 层没有变过 在 MySQL 5.5之后 包括 5.5 ,默认的存储引擎都是 innodb (engine=innodb) ,但是 在 5.5之前的版本,默认的存储引擎是 myisam ,基于表的 所以 如果是 5.5之前的版本,创建表的时候 需要指定 engine=innodb ,否则创建出来的表 都是 myisam 存储引擎的 基本上 5.1之后就是 5.5了;期间都是一个跳板 MySQL组成部分: 1.连接池组件 2.管理服务和工具组件 3.SQL接口组件 4.查询分析器组件 5.优化器组件 6.缓冲组件 7.插件式存储引擎 8.物理文件 存储引擎是基于表的,不是基于数据库的 mysql 的核心就是存储引擎       MySQL 表存储引擎 MySQL 插拔式的存储引擎架构提供了一系列标准的管理和服务支持 存储引擎是基于表的,而不是基于数据库的 根据具体的应用选择合适的存储引擎 OLTP:在线联机事物系统,---读多写少,比如:电商,支持行级锁,支持外键 OLAP:在线联机分析系统,---这个接触的几率很小     

Kafka生产者——发送原理分析

强颜欢笑 提交于 2020-01-12 06:52:51
目录 整体架构 消息加载器 生产者客户端可靠性保证 整体架构 生产过程由两个线程协调运行,分别为主线程和sender线程(发送线程)。 主线程中,由KafkaProducer创建消息,然后通过可能的拦截器、序列化器和分区器的作用,缓存消息到消息加载器(RecordAccumulator,也称为消息收集器)中,Sender线程负责从消息加载器(RecordAccumulator)中获取消息并将其发送到Kafka中。 消息加载器 消息加载器(RecordAccumulator)主要用来缓存消息以便Sender线程可以批量发送,进而减少网络传输的资源消耗以提升性能。 消息加载器(RecordAccumulator)缓存的大小可以通过生产者参数buffer.memory配置,默认值为33444432b,即32mb。 如果生产者发送消息的速度大于发送到服务器的速度,也就是RecordAccumulator缓存不够,此时kafkaproducer的send方法调用要被被阻塞,要么抛出异常,这个取决于参数max.block.ms参数,此参数的默认值为60000ms,60s。 主线程发送过来的消息会被追加到RecordAccumulator的某个双端队列中,在RecordAccumulator内部为每个分区都维护了一个双端队列,队列中的内容就是ProducerBatch,即Deque

面试学习笔记(1)——前端工程师

折月煮酒 提交于 2020-01-12 01:47:28
前端工程师面试学习笔记 网络部分内容 http和https的异同 WebSocket 几个关键的http状态码 Cookie、sessionStorage和localStorage web worker XSS攻击 click在ios上有延迟该如何解决 前端优化的方法 从输入URL到页面呈现,中间的过程(重点) 浏览器缓存机制 HTML&CSS CSS盒模型 浮动塌陷清除的方法 使元素消失的方法 几种常用的CSS布局 前端中的事件流 如何让事件先冒泡后捕获 事件委托 JavaScript JS的数据类型 闭包 性能优化的方法 JS中继承实现的方式 AJAX Ajax返回状态 Ajax过程 几个重要的设计模式 这篇博客主要记录一些前端常考题目以及必要知识。 网络部分内容 这一部分主要是计算机网络中的内容,考察一些网络编程和通信的内容,需要对一些关键知识进行区分。 http和https的异同 http和https都是超文本传输协议,两者的区别主要在于安全性的考虑。 http基于TCP协议,承担WWW服务器到本地浏览器的信息传输,在传输过程中采用明文传输,不对传输信息做任何加密处理,https简单来讲,就是将http与SSL相结合,设置了SSL协议对http传输的数据进行了加密处理,安全性更高。 端口也不同,http服务器默认是80端口,https默认是443端口。