跟读练习: Top 5 Redis Use Cases - 通过视频学习英语口语
选择练习模式
每种模式都会打开全屏练习室。
75 句
如果句子过短或过长,请点击 Edit 进行调整。
1
In this video, we discover the versatility of Redis.
2
We'll talk about the top use cases that have been better tested in production at various companies and at various scales.
3
Get insights into how Redis solves interesting scalability challenges for us
4
and learn why it is a great tool to know well in our system design toolset.
5
Let's dive right into it.
6
First of all, what is Redis and why do people use it?
7
Redis is an in -memory data structure store.
8
It is most commonly used as a cache.
9
It supports many data structures such as strings, hashes, lists, sets, and sorted sets.
10
Redis is known for its speed.
11
We made a video to explain why Redis is so fast.
12
Look for the link in the description if you would like to watch that video.
13
Now let's dive into the top use cases of Redis.
14
The number one use case of Redis is caching objects to speed up web applications.
15
In this use case, Redis stores frequently requested data in memory.
16
It allows the web servers to return frequently accessed data quickly.
17
This reduces the load on the database and improves the response time for the application.
18
At scale, the cache is distributed among a cluster of Redis servers.
19
Sharding is a common technique to distribute and caching load evenly across the cluster.
20
Other topics to consider when deploying Redis as a distributed cache include setting a correct TTL
21
and handling thundering hurt on cold start.
22
Another common use case is to use Redis as a session store to share session data among stateless servers.
23
When a user logs into a web application, the session data is stored in Redis,
24
along with a unique session ID that is returned to the client as a cookie.
25
When a user makes a request to the application, the session ID is included in the request,
26
and the stateless web server retrieves the session data from Redis using the ID.
27
It is important to note that Redis is an in -memory database.
28
The session data stored in Redis will be lost if the Redis server restarts.
29
Even though Redis provides persistent options like a snapshot and AOF or append -only file,
30
they allow session data to be saved to disk and reloaded into memory in the event of a restart.
31
These options often take too long to load to be practical.
32
In production, replication is usually used instead.
33
In this case, data is replicated to a backup instance.
34
In the event of a crash of the main instance, the backup instance is quickly promoted to take over the traffic.
35
The next use case is distributed log.
36
Distributed logs are used when multiple nodes in an application need to coordinate access to some shared resource.
37
Redis is used as a distributed log with its atomic commands like set -nx or set -if -not -exists.
38
It allows a caller to set a key only if it does not already exist.
39
Here's how it works at a high level.
40
Client 1 tries to acquire the log by setting a key with a unique value
41
and a timeout using the set -nx command.
42
If the key was not already set, the set -nx command returns 1, indicating that the log has been acquired by client 1.
43
Client 1 finishes its work and releases the log by deleting the key.
44
Now if the key was already set, the set -annex command returns 0, indicating that the log has already been held by another client.
45
In this case, client 1 waits and retries the set -annex operation until the log is released by the other client.
46
Note that this simple implementation might be good enough for many use cases, but it is not completely fault -tolerant.
47
For production use, there are many Redis client libraries that provide high -quality distributed log implementation built right off the box.
48
Next up is Ray Limiter.
49
Redis can be used as a Ray Limiter by using its increment command on some counters
50
and setting expiration times on those counters.
51
A very basic
52
Ray Limiting algorithm works this way.
53
For each incoming request, the request IP or user ID is used as a key.
54
The number of requests for the key is incremented using the increment command in Redis.
55
The current count is compared to the allowed rate limit.
56
If the count is within the rate limit, the request is processed.
57
If the count is over the limit, the request is rejected.
58
The keys are set to expire after a specific time window, for example, a minute, to reset the cans for the next time window.
59
More sophisticated rate limiters, like the leaky bucket algorithm, can also be implemented using Redis.
60
The last use case we would like to talk about is gaming leaderboard.
61
For most games that are not super high scale, Redis is a delightful way to implement various types of gaming leaderboards.
62
Sort of sets are the fundamental data structure that enables this.
63
A sort of set is a collection of unique elements, each with a score associated with it.
64
The elements are sorted by score.
65
This allows for quick retrieval of the elements by score in logarithmic time.
66
That's it for our top Redis use cases.
67
Redis is very versatile.
68
There are many different ways to use it.
69
Some features are more better tested than others.
70
Our creativity is the limit.
71
Use it with care and have fun with it.
72
You would like our videos.
73
You may like our weekly system design newsletter as well.
74
It covers topics and trends in large -scale system design, trusted by 200 ,000 readers.
75
Subscribe at blog .buybygo .com.
📺 同频道
✨ 推荐视频
本课的词汇与口语要点
这节口语课以视频“Top 5 Redis Use Cases”为素材。 视频中反复出现的词有:Redis, log, client, session, key。 这段视频共有 75 个句子、937 个单词可供跟读。 讲话部分时长为 6:16。 说话人语速平稳,每分钟约 149 个词,很适合跟读。 只有 77% 的单词属于英语最常用的 3,000 词,词汇难度较高。
视频中的重点词汇
视频中 15 个值得学习的单词,附发音和释义:
| 单词 | 发音 | 释义 |
|---|---|---|
| distribute 动词 | /dɪˈstɹɪbjuːt/ | 分配 |
| server 名词 | /ˈsɝvɚ/ | 服務器 /服务器, 伺服器 |
| cache 名词 | /kæʃ/ | 緩存 /缓存, 快取 |
| element 名词 | /ˈɛləmənt/ | 要素 |
| topic 名词 | /ˈtɑpɪk/ | 主題 /主题, 話題 /话题 |
| log 名词 | /lɔɡ/ | 圓木 /圆木 |
| indicate 动词 | /ˈɪndɪˌkeɪt/ | 表明, 表示 |
| database 名词 | /ˈdeɪtəˌbeɪs/ | 數據庫 /数据库 |
| implementation 名词 | /ˌɪmplɪmənˈteɪʃən/ | 履行 |
| backup 名词 | /ˈbækˌʌp/ | 備份 /备份 |
| implement 动词 | /ˈɪmpləmənt/ | 實施 /实施, 執行 /执行 |
| acquire 动词 | /əˈkwaɪɚ/ | 獲得 /获得, 取得 |
| dive 动词 | /daɪv/ | 潛水 /潜水 |
| algorithm 名词 | /ˈælɡəɹɪðm̩/ | 算法, 演算法 |
| cluster 名词 | /ˈklʌstɚ/ | 串, 叢 /丛 |
视频中出现的短语动词
| 单词 | 发音 | 释义 |
|---|---|---|
| speed up 动词 | /spiːdˈʌp/ | 加速, 加快 |
| take over 动词 | 接管, 接手 |
视频中的语法
说话人最常用的结构,并附上视频中的原话:
| 结构 | 视频中的用法 |
|---|---|
| 被动语态 be + 过去分词 — 强调发生了什么,而不是谁做的 | is known · is distributed · is stored |
| 现在完成时 have/has + 过去分词 — 过去发生但与现在仍有关联的事 | have been · has been acquired · has already been held |
需要注意的发音
- “th” 音: algorithm /ˈælɡəɹɪðm̩/, thunder /ˈθʌndɚ/, logarithmic /ˌlɒɡəˈɹɪðmɪk/
- “sh” 和 “zh” 音: cache /kæʃ/, implementation /ˌɪmplɪmənˈteɪʃən/, associate /əˈsoʊʃi.ət/, hash /ˈhæʃ/, expiration /ˌɛk.spɚˈeɪ̯.ʃən/
- 长单词——注意重音位置: implementation /ˌɪmplɪmənˈteɪʃən/, associate /əˈsoʊʃi.ət/, fundamental /ˌfʌn.dəˈmɛn.təl/, creativity /kri.eɪˈtɪv.ᵻ.ti/, coordinate /koʊˈɔɹ.dəˌneɪt/
中文母语者容易读错的音:
- /v/ — 不要读成 /w/,上齿轻触下唇: server /ˈsɝvɚ/, dive /daɪv/, solve /sɒlv/, discover /dɪˈskʌvə/, creativity /kri.eɪˈtɪv.ᵻ.ti/
- 词尾辅音 — 要读清楚,后面不要加元音: distribute /dɪˈstɹɪbjuːt/, cache /kæʃ/, element /ˈɛləmənt/, topic /ˈtɑpɪk/, log /lɔɡ/
- /r/ 和 /l/ 的区别: algorithm /ˈælɡəɹɪðm̩/, practical /ˈpɹæk.tɪ.kəl/, tolerant /ˈtɑːləɹənt/, replicate /ˈɹɛplɪkeɪt/, logarithmic /ˌlɒɡəˈɹɪðmɪk/
如何用这段视频练习
- 先完整听一遍视频,不要开口,记下不认识的单词。
- 用正常速度逐句跟读,每句重复到你的节奏与说话人一致为止。
- 录下自己的声音并与原声对比,特别注意 distribute, server, cache 这类单词。
什么是跟读法?
跟读法 (Shadowing) 是一种有科学依据的语言学习技巧,最初开发用于专业口译员的培训,并由多语言者Alexander Arguelles博士普及。这个方法简单而强大:您在听英语母语原声的同时立即大声重复——就像是一个延迟1-2秒紧跟说话者的影子。与被动听力或语法练习不同,跟读法强迫您的大脑和口腔肌肉同时处理并模仿真实的讲话模式。研究表明它能显着提高发音准确性,语调,节奏,连读,听力理解和口语流利度——使其成为雅思口语备考和真实英语交流最有效的方法之一。



























