当前位置:网站首页>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
边栏推荐
- How many times is PTA 1101 B than a
- 国内的软件测试会受到偏见吗
- SD_ DATA_ SEND_ SHIFT_ REGISTER
- Tapdata 的 2.0 版 ,开源的 Live Data Platform 现已发布
- testing and SQA_动态白盒測试[通俗易懂]
- The live broadcast reservation channel is open! Unlock the secret of fast launching of audio and video applications
- cmd命令进入MySQL时报服务名或者命令错误(傻瓜式教学)
- Golang client server login
- 行业案例|数字化经营底座助力寿险行业转型
- [tpm2.0 principle and Application guide] Chapter 9, 10 and 11
猜你喜欢

3.关于cookie
![[paper sharing] where's crypto?](/img/27/9b47bfcdff8307e63f2699d6a4e1b4.png)
[paper sharing] where's crypto?

99% of people don't know that privatized deployment is also a permanently free instant messaging software!

10 schemes to ensure interface data security

Continuous test (CT) practical experience sharing

RISCV64

单臂路由和三层交换的简单配置

String type, constant type and container type of go language

完整的电商系统

Creative changes brought about by the yuan universe
随机推荐
【塔望方法论】塔望3W消费战略 - U&A研究法
Reject policy of thread pool
SlashData开发者工具榜首等你而定!!!
Reinforcement learning - learning notes 8 | Q-learning
Flipping Game(枚举)
脑洞从何而来?加州大学最新研究:有创造力的人神经连接会「抄近道」
Cadre de validation des données Apache bval réutilisé
[information security laws and regulations] review
Tsinghua, Cambridge and UIC jointly launched the first Chinese fact verification data set: evidence-based, covering many fields such as medical society
The moveposition function of rigidbody2d of unity2d solves the problem of people or screen jitter when moving
6.关于jwt
Reuse of data validation framework Apache bval
基于图像和激光的多模态点云融合与视觉定位
Desci: is decentralized science the new trend of Web3.0?
cmd命令进入MySQL时报服务名或者命令错误(傻瓜式教学)
10 schemes to ensure interface data security
线程池的拒绝策略
抢占周杰伦
String type, constant type and container type of go language
Hutool - lightweight DB operation solution