首页
学习
活动
专区
工具
TVP
发布

tomcat 缓存导致的严重问题

今天在部署jsp代码的时候,打成war包丢到线上服务器的tomcat容器里面。结果死活不出结果。 咨询了下同事,说是tomcat缓存的问题。...清理缓存方法如下: step1 停掉tomcat,进入tomcat的主目录。 step2 删掉work目录下全部文件(work目录不要删!)。 step3 删掉temp目录下的所有文件。...step4 再次启动tomcat即可 下面是摘自其他人博客的: tomcat有一个work目录,里面存放了页面的缓存,访问的jsp都会编译(从 work里进入Catalina后的如localhost站点文件夹下的项目...而tomcat显示的目录,都会从这个缓存里找编译后的jsp对应的class文件。所以当清空了work目录后,该过程将会从新来过。         ...有的时候会遇到一个问题,就是修改后的页面在tomcat运行的时候显示不了修改后的痕迹。这个时候删除work目录下对应的项目文件夹,重新启动tomcat就可以了。

3.6K30
您找到你想要的搜索结果了吗?
是的
没有找到

Tomcat系列之奇怪的自动缓存问题处理方法

Tomcat系列之Context自动缓存问题处理方法 最近遇到一个tomcat缓存问题,首先是这样的,我改了一个jsp页面代码,然后部署到tomcat,再访问nginx链接,发现代码都没起效,好像是被缓存...,所以我先测一下不经过nginx的tomcat链接,发现补丁是起效的,所以说是nginx缓存问题?...ok,配置nginx浏览器不缓存之后,补丁还没被更新到,所以这就奇怪了,然后网上搜到这篇博客,启发: ?...先清tomcat缓存,到${tomcat_home}\work\Catalina\localhost ? 然后重启tomcat,发现是tomcat缓存导致?...发现在tomcat的server.xml配置: <Context docBase="D:\apache-<em>tomcat</em>-7.0.77\webapps\Portal" reloadable="true"

1.2K30

如何优化tomcat配置(从内存、并发、缓存4个方面)优化

Tomcat有很多方面,我从内存、并发、缓存四个方面介绍优化方法。    ...** 一.Tomcat内存优化 **   Tomcat内存优化主要是对 tomcat 启动参数优化,我们可以在 tomcat 的启动脚本 catalina.sh 中设置 java_OPTS 参数。    ...,通过以下命令进行查看配置是否生效:    首先查看Tomcat 进程号:   sudo lsof -i:9027   我们可以看到Tomcat 进程号是 12222 。    ...** 二.Tomcat并发优化 **   1.Tomcat连接相关参数   在Tomcat 配置文件 server.xml 中的   <Connector port="9027"   protocol=...缓存优化   1>参数说明   c ompression 打开压缩功能    compressionMinSize 启用压缩的输出内容大小,这里面默认为2KB    compressableMimeType

1.6K20

缓存缓存穿透、缓存雪崩、缓存击穿

原文:https://www.cnblogs.com/raichen/p/7750165.htm 缓存穿透 概念 缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时需要从数据库查询,查不到数据则不写入缓存...缓存雪崩 概念 大量的key设置了相同的过期时间,导致在缓存在同一时刻全部失效,造成瞬时DB请求量大、压力骤增,引起雪崩。 解决办法 从业务层面。...可以给缓存设置过期时间时加上一个随机值时间,使得每个key的过期时间分布开来,不会集中在同一时刻失效。 缓存击穿(并发) 概念 高并发系统,如果一个缓存失效,存在多进程同时查询DB,同时更新缓存。...这对缓存和DB都是比较大的挑战。...解决办法 使用互斥锁(mutex key): 这种解决方案思路比较简单,就是只让一个线程构建缓存,其他线程等待构建缓存的线程执行完,重新从缓存获取数据就可以了(如下图) ?

2.3K20

tomcat学习|tomcat源码结构

小刀博客: https://www.lixiang.red 学习背景 提到tomcat,相信大家都不陌生,只要是搞web开发的,老师总会让我们把应用打成war包,然后再丢到tomcat的webapp里面...,那是不是就代表着我们可以不用学tomcat了?...当然不,我们要学tomcat , demo级别的工程不用深入去研究,但是当工程进入生产环境,会有各种各样的问题,我们就要深入其原理,然后进行调优 tomcat 小刀也是才刚刚开始学, 这个系列,小刀会和大家一起学习下去.../tomcat 分支是 study_8_5 笔,本子: 好记性不如烂笔头,tomcat做为一个web容器中大佬级别的存在,只用肉眼,很难看穿他 小刀的微信交流群: 有什么会比一群人在一起学有意思呢?...Servlet通过JNDI查找 WEB容器提供的配置信息 tomcat 是一些附加功能,如websocket等 最后说两句 tomcat 这块,小刀也是刚开始细致的开始学,大家一起加油!!

89430

缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等问题!

,今天给大家整理一篇关于Redis经常被问到的问题:缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等概念的入门及简单解决方案。...一、缓存雪崩 缓存雪崩我们可以简单的理解为:由于原有缓存失效,新缓存未到期间(例如:我们设置缓存时采用了相同的过期时间,在同一时刻出现大面积的缓存过期),所有原本应该访问缓存的请求都去查询数据库了,而对数据库...(2)还有一个解决办法解决方案是:给每一个缓存数据增加相应的缓存标记,记录缓存的是否失效,如果缓存标记失效,则更新数据缓存,实例伪代码如下: ?...解释说明: 1、缓存标记:记录缓存数据是否过期,如果过期会触发通知另外的线程在后台去更新实际key的缓存; 2、缓存数据:它的过期时间比缓存标记的时间延长1倍,例:标记缓存时间30分钟,数据缓存设置为60...三、缓存预热 缓存预热这个应该是一个比较常见的概念,相信很多小伙伴都应该可以很容易的理解,缓存预热就是系统上线后,将相关的缓存数据直接加载到缓存系统。

3.7K10

缓存穿透,缓存雪崩,缓存击穿

缓存穿透 缓存穿透是指查询一个一定不存在的数据,即缓存和数据库中都没有的数据。...由于缓存不命中,并且出于容错考虑,如果从数据库查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到数据库去查询,失去了缓存的意义。...id=-1 查询一条id为-1的数据 如何解决缓存穿透 一:对查询不到的数据也做缓存处理,只是过期时间设置短一些!...缓存击穿 缓存击穿是指缓存中没有但数据库中有的数据(一般是缓存时间到期),这时由于并发用户特别多,同时读缓存没读到数据,又同时去数据库去取数据,引起数据库压力瞬间增大,造成过大压力 如何解决缓存击穿 一...,但是缓存过期后,没有数据提供 如何解决缓存雪崩 分成事前,事中,事后三步骤 事前 一:错开设置过期时间(比如电商缓存商品可以对商品过期时间加一个随机因子,错开缓存过期时间) 发生缓存雪崩之前,事情之前

1.6K30

Caffeine缓存 最快缓存 内存缓存

二、缓存简介 (一)缓存对比 从横向对常用的缓存进行对比,有助于加深对缓存的理解,有助于提高技术选型的合理性。下面对比三种常用缓存:Redis、EhCache、Caffeine。...:缓存都是使用内存作为存储媒介的,各种缓存服务的区别如下:Caffeine是内存型缓存是指缓存与调用者属于同一个应用,准确的说属于同一个JVM;Redis是指另外一个独立进程的内存型,缓存数据存储在Redis...(二)本地缓存 本地缓存与分布式缓存对应,缓存进程和应用进程同属于一个JVM,数据的读、写在一个进程内完成。本地缓存没有网络开销,访问速度很快。...Caffeine是基于Guava Cache增强的新一代缓存技术,缓存性能极其出色。 1、Map JDK内置的Map可作为缓存的一种实现方式,然而严格意义来讲,其不能算作缓存的范畴。...若涉及多级缓存或者多种缓存共用,其它需要网络传输或者持久化的缓存需要序列化,Caffeine尽管也使用实现序列化的实体类,但是不做序列化操作。 不需要序列化,降低了缓存使用难度。

2.9K30

缓存穿透、缓存雪崩、缓存热点

摘要:本文主要讲解在使用缓存的过程中,经常出现的三个问题:缓存穿透、缓存雪崩、缓存热点。...1.概念 缓存穿透: 大多数缓存系统,都是以key-value的格式去存储数据的,当有个请求去查询某个key,但是这个key对应的value不存在,则这个请求就会到后端DB中查询;如果有人恶意去查询缓存中不存在的...缓存雪崩: 访问量很大的系统,一般都会用缓存服务,很多请求到达在缓存层拿到值后就返回了,这样有效的减轻了DB端的压力;但是如果,缓存服务挂掉了,那所有的请求都会直接打到DB层,数据库的压力瞬间就起来了,...这样DB很可能也挂掉了,这就是缓存雪崩。...缓存热点: 一般使用缓存时,策略如下:请求一个数据,如果缓存有,直接返回,如果缓存没有,就会去查询数据库,然后返回,同时,将此key和value缓存起来,设置一个过期时间;这样做有两个好处,不仅可以加快系统对外的响应速度

1.3K50

tomcat

3.Tomat服务器 1.0 tomcat简介 Web程序开发中常用的服务器都有哪些: *Tomcat他是属于apache开源组织,免费 *weblogic:他是属于bea公司的,大型的服务器...、 1.1Tocmat安装与卸载 1.tomcat安装分两种情况: *在apache官网下载:http://tomcat.apache.org下载对应的版本,它目前的最高版本是9.0,但是在开发中不用...*使用绿色版本(免安装):直接解压tomcat的压缩包,就能使用 2.启动和关闭tomcat 启动:找到bin目录的startup.bat 测试安装成功:http://localhost:8080.../去访问tomcat服务器,出现了小猫这个页面,代表安装成功。...关闭:找到bin目录的shutdown.bat 1.2tomcat目录结构 bin:存放的是tomcat可执行的脚本和文件 conf:存放的是tomcat的配置文件 比如:修改访问的端口号,找到

41220

Tomcat

5.Tomcat 的使用 a)安装 找到你需要用的 Tomcat 版本对应的 zip 压缩包,解压到需要安装的目录即可。...c)如何启动 Tomcat 服务器 找到 Tomcat 目录下的 bin 目录下的 startup.bat 文件,双击,就可以启动 Tomcat 服务器。...另一种启动 tomcat 服务器的方式 1、打开命令行 2、cd 到 你的 Tomcat 的 bin 目录下 3、敲入启动命令: catalina run  d)Tomcat 的停止 1、点击 tomcat...服务器窗口的 x 关闭按钮 2、把 Tomcat 服务器窗口置为当前窗口,然后按快捷键 Ctrl+C 3、找到 Tomcat 的 bin 目录下的 shutdown.bat 双击,就可以停止 Tomcat...4.1、正常启动 Tomcat 实例: 4.2、Debug 方式启动 Tomcat 运行实例:  4.3、停止 Tomcat 运行实例:   4.4、重启 Tomcat 运行实例:  e)修改工程访问路径

93130

tomcat

一  tomcat安装使用: 1....(前提条件)安装JDK,配置Java的环境变量. 2.tomcat分为安装版和解压版  安装版(一般给客户使用)  安装版默认下一步安装. 3.解压版:解压当前文件,不要有中文. 4.启动服务器:去解压文件夹下找到...startup.bat文件或者直接输入  盘符:\tomcat\apache-tomcat-7.0.67\bin\startup.bat  (点击启动服务器) 5.访问服务器:cmd输入ipconfig...获取本机的ip地址  然后http://ip地址:8080  访问服务器的主页(8080是默认端口号) 6.关闭服务器:去解压文件夹下找到shutdown.bat文件 (点击关闭服务器); 二  tomcat...结束该进程解决了该问题;  解决方案二:修改端口号        修改配置文件(tomcat不提倡修改配置文件  而且不能修改错)

1.3K80
领券