当前位置:网站首页>Initial experience of cache and ehcache "suggestions collection"
Initial experience of cache and ehcache "suggestions collection"
2022-07-07 19:08:00 【Full stack programmer webmaster】
Hello everyone , I meet you again , I'm the king of the whole stack .
1. The meaning of caching
The caching mechanism is to take out the data often used in the database and put it into memory . When the program is called, it fetches directly from memory , Use every time Data access database , This improves efficiency .
2. Caching needs attention
1) Cache update
The data in the cache must be consistent with the data in the database .
2) Cache hit rate
Improve the utilization of cached data , The cache stores data that users often use , Suppose that the cache stores something that users don't often use . Then the hit rate of cache is not high . Sometimes , It is the high utilization rate of some cached data at a certain time , Low utilization at a certain time , So it needs to be updated constantly , To improve cache hit ratio .
Hibernate Cache mechanism
• The first level cache is Session The cache of . because Session The life cycle of an object usually corresponds to a database transaction or an application transaction , So its cache is a transaction wide cache . First level caching is necessary , Disagree and can't be removed . In the first level cache . Each instance of a persistent class has a unique OID. • The second level cache is a pluggable cache plug-in , It consists of SessionFactory Responsible for managing the . because SessionFactory The life cycle of the object corresponds to the whole process of the application , So the second level cache is Process wide cache . This cache stores the bulk data of the object .
The second level cache is optional . The second level cache can be configured on the granularity of each class or collection .
remarks :
L1 cache may cause repeated data queries , thus , We introduced the second level cache mechanism .
The first level cache is used by user threads . The L2 cache is shared by everyone .
What we need to learn is how to control the L2 cache , To this end, we need to ensure 2 spot :
1). How to update the data in the L2 cache Suppose the user does not change the data of the database , We need to update the cache immediately 2). Ensure the hit rate of data in L2 cache Change space for time .
Data in L2 cache
When necessary, we use frequent data .
3.EhCache
1. Brief introduction
EhCache It's pure. Java In process caching framework for . With high speed 、 Characteristics such as ability . yes Hibernate In the default CacheProvider.
2. stay Hibernate Use in EhCache
Change profile Hibernate.cfg.xml
<property name="hibernate.cache.provider_class">
org.hibernate.cache.EhCacheProvider
</property>3. The configuration file ehcache.xml
The meanings of parameters are • maxElementInMemory Indicates how many objects can be placed in the cache , Here is 10000 individual , It can be configured according to the amount of memory • eternal Indicates whether to set these data objects put into the L2 cache to be permanent ( Put it in and save it . No longer clear ) Typically for false • timeToIdleSeconds=120 It is assumed that 120 Seconds . The placed object is not accessed again , Just clear it out • timeToLiveSeconds=120 Indicates the time the object survives in the cache , An object enters this cache 120 Seconds later , It will be cleared away by itself ( Generally, the setting time will be longer than timeToIdleSeconds Long time ).
This property is set to allow many other active objects to enter From cache . • overflowToDisk=”true” Indicates that the assumed active object has exceeded maxElementInMemory Set the maximum value of , Exceeded objects are written Save it on your hard disk . Ease the situation with more active users .
4. Change the detailed mapping file xxx.hbm.xml
Join the familiar :<property region=”default” usage=”read-write”>
• region attribute Indicates which L2 cache to use • usage attribute Indicates how L2 cache is used There are two kinds of :read-only and read-write read-only Let's say it's read-only. Then it cannot be changed . such ehcache There is no need to consider the operation of changes and updates . read-write Set to read-write,ehcache Also consider updates and changes . This will reduce efficiency .
therefore . Set up usage Attributes are very important , It is necessary to infer that the stored objects use L2 cache based on the actual situation .
Welcome to discuss and study together !
Practical self collection !
Record and share . Let us grow together ! Welcome to my other blogs . My blog address :http://blog.csdn.net/caicongyang
Publisher : Full stack programmer stack length , Reprint please indicate the source :https://javaforall.cn/116611.html Link to the original text :https://javaforall.cn
边栏推荐
- Save the memory of the model! Meta & UC Berkeley proposed memvit. The modeling time support is 30 times longer than the existing model, and the calculation amount is only increased by 4.5%
- CVPR 2022 - learning non target knowledge for semantic segmentation of small samples
- Redis cluster and expansion
- The performance and efficiency of the model that can do three segmentation tasks at the same time is better than maskformer! Meta & UIUC proposes a general segmentation model with better performance t
- 50亿,福建又诞生一只母基金
- 数据验证框架 Apache BVal 再使用
- Policy mode - unity
- 【塔望方法论】塔望3W消费战略 - U&A研究法
- 完整的电商系统
- 3. About cookies
猜你喜欢

直播预约通道开启!解锁音视频应用快速上线的秘诀

Nunjuks template engine

微服务远程Debug,Nocalhost + Rainbond微服务开发第二弹

虚拟数字人里的生意经

Differences between rip and OSPF and configuration commands
![学习open62541 --- [67] 添加自定义Enum并显示名字](/img/98/e5e25af90b3f98c2be11d7d21e5ea6.png)
学习open62541 --- [67] 添加自定义Enum并显示名字

App capture of charles+postern

企业展厅设计中常用的三种多媒体技术形式

CVPR 2022丨学习用于小样本语义分割的非目标知识

Multimodal point cloud fusion and visual location based on image and laser
随机推荐
[information security laws and regulations] review
3.关于cookie
Desci: is decentralized science the new trend of Web3.0?
企业MES制造执行系统的分类与应用
Rules for filling in volunteers for college entrance examination
嵌入式面试题(算法部分)
LeetCode 497(C#)
How many times is PTA 1101 B than a
Usage of PHP interview questions foreach ($arr as $value) and foreach ($arr as $value)
RISCV64
UVALive – 4621 Cav 贪心 + 分析「建议收藏」
Nat address translation
【软件测试】从企业版BOSS直聘,看求职简历,你没被面上是有原因的
CVPR 2022 - learning non target knowledge for semantic segmentation of small samples
Reuse of data validation framework Apache bval
[tpm2.0 principle and Application guide] Chapter 9, 10 and 11
The moveposition function of rigidbody2d of unity2d solves the problem of people or screen jitter when moving
Thread factory in thread pool
Will domestic software testing be biased
I feel cheated. Wechat tests the function of "size number" internally, and two wechat can be registered with the same mobile number