当前位置:网站首页>Linux server development, MySQL cache strategy
Linux server development, MySQL cache strategy
2022-07-07 07:55:00 【Tuen Mun pheasant calls me chicken】
Recommend a free open course of zero sound College , Personally, I think the teacher spoke well , Share with you :Linux,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK, Streaming media ,CDN,P2P,K8S,Docker,TCP/IP, coroutines ,DPDK Etc , Learn now
MySql What are the ways to improve read and write performance ?
- Connection pool Blocking io+ Thread pool
- Asynchronous connection Non blocking io
- sql Execute punishment : Carry out in a timely manner + Precompile execution
- Read / write separation
- Cache scheme
Master-slave replication solves the problem of single point of failure .
Reading strategy
- First look at cache There's no data in it , There is a direct return .
- without , Go again MySql Take the data from the library .
- If MySql There are data in it. , The cache to cache
- without , That is, there is no
Final consistency and strong consistency .
Write strategy
- Delete first cache, And then delete MySql
- Delete first cache, Revise MySql. Modify cache directly after improvement , Set expiration time , modify MySql Remove the expiration time .
- Delete first cache, Add again MySql. Modify cache directly after improvement , Set expiration time , modify MySql Remove the expiration time .
Asynchronous operation is compared with synchronous operation , It mainly saves the time of network transmission .
Cache penetration
redis and MySql None of them exist ,redis No data will always be requested MySql, and MySql There is nothing but to return . When a large number of requests accumulate to MySql, Finally, I was overwhelmed .、
Solution :
- Find out MySql non-existent , take redis Set up <key,nil> Set expiration time , The next visit is not visit MySql, It is easy to cause many invalid redis Cache data .
- Set up the bloon filter , The non-existent hotspot data is directly filtered out .
Cache breakdown
redis No, ,MySql There's data . When there are a large number of concurrent requests , Request to pile up MySql Too big . One of them Key A lot of requests .
- Lock , Operate with lock , Sleep without lock .
- Will be a lot hot key Set not to expire .
Cache avalanche
redis Downtime , All data are empty , Cause collapse MySql. Multiple Key A lot of advice .
- Highly available cluster solutions , Like sentinel mode ,cluster Pattern .
- Set the random period value or other mechanism to stagger the expiration time .
- redis Turn on persistence .
边栏推荐
- [performance pressure test] how to do a good job of performance pressure test?
- 探索Cassandra的去中心化分布式架构
- 有 Docker 谁还在自己本地安装 Mysql ?
- Is the test cycle compressed? Teach you 9 ways to deal with it
- What is the interval in gatk4??
- 快速使用 Jacoco 代码覆盖率统计
- Leanote private cloud note building
- Idea add class annotation template and method template
- leetcode:105. Constructing binary trees from preorder and inorder traversal sequences
- C语言航班订票系统
猜你喜欢
随机推荐
2022焊工(初级)判断题及在线模拟考试
Asemi rectifier bridge rs210 parameters, rs210 specifications, rs210 package
Redis technology leak detection and filling (II) - expired deletion strategy
海思芯片(hi3516dv300)uboot镜像生成过程详解
mysql多列索引(组合索引)特点和使用场景
@component(““)
Cnopendata geographical distribution data of religious places in China
Solution: could not find kf5 (missing: coreaddons dbusaddons doctools xmlgui)
pytest+allure+jenkins環境--填坑完畢
Detailed explanation of Kalman filter for motion state estimation
解决问题:Unable to connect to Redis
The configuration that needs to be modified when switching between high and low versions of MySQL 5-8 (take aicode as an example here)
2022制冷与空调设备运行操作复训题库及答案
Cnopendata list data of Chinese colleges and Universities
Wechat applet data binding multiple data
今日现货白银操作建议
A bit of knowledge - about Apple Certified MFI
Common validation comments
Zhilian + AV, AITO asked M7 to do more than ideal one
IPv4 exercises