当前位置:网站首页>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
边栏推荐
- Micro service remote debug, nocalhost + rainbow micro service development second bullet
- Short selling, overprinting and stock keeping, Oriental selection actually sold 2.66 million books in Tiktok in one month
- Nat address translation
- Datasimba launched wechat applet, and datanuza accepted the test of the whole scene| StartDT Hackathon
- 标准ACL与扩展ACL
- 博睿数据入选《2022爱分析 · IT运维厂商全景报告》
- Comparison and selection of kubernetes Devops CD Tools
- 【软件测试】从企业版BOSS直聘,看求职简历,你没被面上是有原因的
- 微服务远程Debug,Nocalhost + Rainbond微服务开发第二弹
- Tsinghua, Cambridge and UIC jointly launched the first Chinese fact verification data set: evidence-based, covering many fields such as medical society
猜你喜欢
GSAP animation library
50亿,福建又诞生一只母基金
Charles+drony的APP抓包
Wireshark analyzes packet capture data * cap
Learn open62541 -- [67] add custom enum and display name
[unity shader] insert pass to realize the X-ray perspective effect of model occlusion
Comparison and selection of kubernetes Devops CD Tools
Cadre de validation des données Apache bval réutilisé
强化学习-学习笔记8 | Q-learning
Policy mode - unity
随机推荐
App capture of charles+postern
SD_ DATA_ SEND_ SHIFT_ REGISTER
Skills of embedded C language program debugging and macro use
Basic operation of chain binary tree (implemented in C language)
如何给“不卖笔”的晨光估值?
Differences between rip and OSPF and configuration commands
Do you know all four common cache modes?
Five network IO models
數據驗證框架 Apache BVal 再使用
Redis的发布与订阅
Wireshark analyzes packet capture data * cap
[sword finger offer] 59 - I. maximum value of sliding window
Basic concepts and properties of binary tree
【塔望方法论】塔望3W消费战略 - U&A研究法
unity2d的Rigidbody2D的MovePosition函数移动时人物或屏幕抖动问题解决
Redis cluster and expansion
将模型的记忆保存下来!Meta&UC Berkeley提出MeMViT,建模时间支持比现有模型长30倍,计算量仅增加4.5%...
SQLite SQL exception near "with": syntax error
Cadre de validation des données Apache bval réutilisé
Usage of PHP interview questions foreach ($arr as $value) and foreach ($arr as $value)