当前位置:网站首页>Ali's redis interview question is too difficult, isn't it? I was pressed on the ground and rubbed
Ali's redis interview question is too difficult, isn't it? I was pressed on the ground and rubbed
2022-07-06 07:24:00 【Java enthusiast】
Preface
As the baldhead of this time code , Yes Redis It must be no stranger , If even Redis It's not used , I'm sorry to go out for an interview , I'm not sure how many times I've been beaten by the interviewer . After all, now Internet companies and some start-ups have to use Redis, Like Amazon 、 Google 、 Ali 、 Tencent should use , We can see that we are proficient in Redis It's really necessary to use . For myself, I hung up on the interview with ALI last year redis On the issue of , I'm not familiar with myself redis The second is that Ali's interview question is too difficult , Just give me a few words , See if you can answer :
- redis Why key,value Of , Why not support SQL Of ?
- redis Multi thread or single thread ?( Answer the single thread, please go back , Why do you come back , Please look down )
- redis The persistence of RDB and AOF How does the restart service load ?(10 personal 9 A wrong answer )
- redis How to plan a cluster ?AKF/CAP How to implement and Design ?
- 10 Ten thousand users a year 365 How to use the login status of days redis Storage , And quickly retrieve the active users in any time window ?
- redis Of 5 Kind of Value Type you've used several , Can you give me an example ?
- 100 Million concurrent 4G data ,10 Million concurrent 400G data , How to design Redis storage ?
As excellent as I was, I was pressed hard on the ground and rubbed , In order to solve this problem, I specially got a copy from Tencent cloud's good brother, which was coded by Tencent cloud God himself “redis In depth notes ”, Let's share it for free today , There is no nonsense in the notes , The whole article looks at the essence !
Due to space limitations, only screenshots can be shown below , Need full version pdf My friend, please like, pay attention and support , Follow me and send a private message “redis” You can get this information for free
PART1:Redis In depth notes begin
1.Redis What can you do with it ?
- from Redis What I think of in the interview
- Redis What can be done ?
2.Redis Infrastructure
- Redis install
- Redis Basic data structure
- General rules of container data structure
- About Redis Some thoughts on using
PART2:Redis Summary of the application of
1. Distributed lock
- Distributed lock
- Timeout problem
- Reentrancy
2. Delay queue
- Asynchronous message queuing ?
- What to do if the queue is empty ?
- Queue delay
- The idle connection is automatically disconnected
- Lock conflict handling
- The implementation of delay queue
- Further optimization
3. Bitmap
- Basic use
- Statistics and search
- Magic command bitfield
4.HyperLogLog
- Usage method
- pfadd This pf What does that mean? ?
- pfmerge Suitable for what field ?
- matters needing attention
- HyperLogLog Realization principle
- pf Why is the memory usage of 12k?
5. The bloon filter
- What is a bloon filter ?
- Redis Bloom filter in
- Basic use of Bloom filter
- matters needing attention
- The principle of Bloom filter
- Space occupancy estimates
- When the actual element exceeds , How the miscalculation rate will change ?
- It will not be on Redis4.0 What do I do ?
- Other applications of Blum filter
6. Simple current limiting
- How to use Redis To implement a simple current limiting strategy ?
7. Funnel restriction
- Redis-Cell
- Some thoughts
8.GeoHash
- Use the database to count people in the neighborhood
- GeoHash Algorithm
- Redis Of Geo The command basically uses
9.Scan
- scan Based on using
- Structure of dictionary
- scan traversal order
- Dictionary expansion
- Compare the traversal order before and after capacity expansion
- Progressive type rehash
- added scan Instructions
- Big Key scanning
PART3:Redis Principle
1. Threads IO Model
- Non blocking IO
- Event polling ( Multiplexing )
- Command queue
- Response queue
- Timing task
2. Communication protocol
- RESP(Redis Serialization Protocol)
- client -> Server side
- Server side -> client
3. Persistence
- Snapshot principle
- fork( Multi process )
- AOF principle
- AOF rewrite
- fsync
- Operation and maintenance
- Redis4.0 Mix persistence
Due to space limitations, only screenshots can show this information , Need full version pdf My friend, please like, pay attention and support , Follow me and send a private message “redis” You can get this information for free
4. The Conduit
- Redis Message interaction
- Pipeline pressure test
- In depth understanding of the nature of the pipeline
5. Business
- Redis Basic use of transactions
- Atomicity
- discard( discarded )
- Optimize
- Watch
6.PubSub
- Message multicast
- PubSub
- Mode subscription
- Message structure
- PubSub shortcoming
Due to space limitations, only screenshots can be shown below , Need full version pdf My friend, please like, pay attention and support , I put the free access method in the comment area
7. Small object compression
- 32bit vs 64bit
- Small object compression storage (ziplist)
- Memory recovery mechanism
- Memory allocation algorithm
8. Master slave synchronization
- CAP principle
- Final agreement
- Master slave synchronization
- The incremental synchronization
- Snapshot synchronization
- Add slave
- Copy without disk
- Wait Instructions
PART4:Redis colony
1.Sentinel
- Lost message
- Sentinel Basic use
2.Codis
- Codis Fragmentation principle
- Different Codis How to synchronize the slot relationship between instances ?
- Capacity expansion
- Automatic equalization
- Codis The price of
- Codis The advantages of
- MGET The operation of the command
- Structural change
- Codis Embarrassment
- Codis Back office management
3.Cluster
- Slot location algorithm
- Jump
- transfer
- Fault tolerance
- The network jitter
- Maybe offline (PFAIL-Possibly Fail) And confirm offline (Fail)
- Cluster Basic use
- Slot migration perception
- Cluster change awareness
PART5:Redis expand
1.Stream
- news ID
- The message content
- Additions and deletions
- Independent consumption
- Create a consumption group
- consumption
- Stream What to do if there is too much news ?
- If the news is forgotten ACK What will happen ?
- PEL How to avoid message loss ?
- Stream High availability
- Partition Partition
2.Info Instructions
- Redis How many instructions are executed per second ?
- Redis How many clients are connected ?
- Redisn How much memory is used ?
- How large is the copy backlog cache ?
Due to space limitations, only screenshots can show this information , Need full version pdf My friend, please like, pay attention and support , Follow me and send a private message “redis” You can get this information for free
3. Let's talk about distributed locks
- Redlock Algorithm
- Redlock Use scenarios
4. Expiration strategy
- overdue key aggregate
- Timing scan strategy
- Expiration policy of slave Library
5.LRU
- LRU Algorithm
- The approximate LRU Algorithm
6. Lazy delete
- Redis Why lazy delete (lazy free)?
- flush
- Asynchronous queues
- AOF Sync Very slow, too
- More asynchronous delete points
7. Use... Gracefully Jedis
- retry
8. Protect Redis
- Command security
- Port security
- Lua Script security
- SSL agent
9.Redis Secure communications
- spiped principle
- spiped Getting started
PART6: Source code
1. Explore the internal structure of strings
- embstr vs raw
- Expansion strategy
2. Explore the inside of the dictionary
- dict internal structure
- Progressive type rehash
- Lookup process
- hash function
- hash attack
- Capacity expansion condition
- Reduction conditions
- set Structure
3. Explore the inside of the compressed list
- Add elements
- update cascade
- IntSet Set of small integers
4. Explore the quick list inside
- Every ziplist How many elements are there ?
- Compression depth
5. Explore the internal structure of the jump list
- The basic structure
- Lookup process
- Random number of layers
- Insertion process
- Delete process
- The update process
- If score It's all the same ?
- How is the element ranking calculated ?
6. Explore the inside of the compact list
- update cascade
- replace ziplist
summary
Last , What I want to say is , Learning is not difficult , And it's about persistence , Especially after we got involved in the work , It's even harder to keep learning . But for programmers , Learning is the foundation of a career , If you give up learning , It's a matter of time before we are eliminated by the market . therefore , Learning more new knowledge is a bigger investment for yourself .
above , To this end .
Due to space limitations, only part of the content can be displayed. If you need this information, please praise, pay attention and support , Follow me and send a private message “redis” You can get this information for free
边栏推荐
- #systemverilog# 可综合模型的结构总结
- 智能终端设备加密防护的意义和措施
- Go learning --- use reflection to judge whether the value is valid
- Set picture annotation in markdown
- Oracle database 11gr2 uses TDE transparent data encryption to report an error ora28353. If you run to close the wallet, you will report an error ora28365. If you run to open the wallet, you will repor
- NiO programming introduction
- Ble of Jerry [chapter]
- navicat如何导入MySQL脚本
- Cookie Technology & session Technology & ServletContext object
- TypeScript 接口属性
猜你喜欢
【MySQL学习笔记32】mvcc
Babbitt | metauniverse daily must read: the group image of Chinese Internet enterprises pouring into metauniverse: "there are only various survival desires, and there is no ambition for forward-lookin
When the Jericho development board is powered on, you can open the NRF app with your mobile phone [article]
数字IC设计笔试题汇总(一)
mysql如何合并数据
【线上问题处理】因代码造成mysql表死锁的问题,如何杀掉对应的进程
Win10 64 bit Mitsubishi PLC software appears oleaut32 DLL access denied
Cookie技术&Session技术&ServletContext对象
First knowledge of OpenGL es learning (1)
How are the open source Netease cloud music API projects implemented?
随机推荐
Typescript interface and the use of generics
Emo diary 1
leetcode841. Keys and rooms (medium)
TS Basics
OpenJudge NOI 2.1 1661:Bomb Game
Ble of Jerry [chapter]
学go之路(一)go的基本介绍到第一个helloworld
SSM学习
TypeScript 接口属性
OpenGL ES 学习初识(1)
杰理之需要修改 gatt 的 profile 定义【篇】
Summary of Digital IC design written examination questions (I)
word中把带有某个符号的行全部选中,更改为标题
Configure raspberry pie access network
Win10 64 bit Mitsubishi PLC software appears oleaut32 DLL access denied
【MySQL学习笔记32】mvcc
Oracle database 11gr2 uses TDE transparent data encryption to report an error ora28353. If you run to close the wallet, you will report an error ora28365. If you run to open the wallet, you will repor
js对象获取属性的方法(.和[]方式)
How MySQL merges data
How are the open source Netease cloud music API projects implemented?