各位 V2EXer 大家好,我是《 Redis 应用实例》的作者黄健宏!
最近新书刚刚出版,今天问出版社拿了些样书进行宣传,好些年前在 V2EX 给大家送过我的其他两本 Redis 书,大家反应都很热情,所以这次我也一如既往地回到这里办赠书活动,希望这次也能得到大家的关注吧!
这次给大家带来 3 本我的新书《 Redis 应用实例》,以下是本次赠书活动的规则:
请回复本帖并写出您使用 Redis 的用途,也即是您拿 Redis 来干什么,实现什么功能、做什么应用,诸如此类
我会在大家的回复中选择 3 条我觉得有趣或眼前一亮的回复,并向每位回复者赠送《 Redis 应用实例》纸书 1 本
本次活动到 2024 年 12 月 2 日 0 时截止,本人保留所有解释权
感谢大家参与此次活动~!
1
vip5000521 14 小时 14 分钟前
为了白嫖一本书,一定要亲手去 GPT 搜索一下.
1. 缓存 功能:Redis 被广泛用作缓存层,以提高数据访问速度和降低数据库负载。 应用:在高并发的应用中,可以将频繁访问的数据缓存到 Redis 中,以减少对后端数据库的查询。 2. 会话存储 功能:Redis 可以用于存储用户会话信息,提供快速的读写能力。 应用:在 web 应用中,可以使用 Redis 存储用户的登录状态和会话数据,确保快速响应。 3. 实时数据处理 功能:Redis 支持发布/订阅( Pub/Sub )消息传递模式,可以用于实时数据处理和消息传递。 应用:实时聊天应用、在线游戏的实时通知等场景。 4. 排行榜和计数器 功能:Redis 的排序集合( Sorted Set )非常适合用于排行榜和计数器。 应用:社交媒体上的点赞、评论计数,游戏中的分数排行榜等。 5. 数据持久化 功能:虽然 Redis 是内存数据库,但它支持将数据持久化到磁盘,以防止数据丢失。 应用:可以在需要快速访问和持久存储的情况下使用 Redis 。 6. 分布式锁 功能:Redis 可以实现分布式锁,确保在分布式系统中资源的安全访问。 应用:在微服务架构中,使用 Redis 实现分布式锁可以防止多个实例同时修改同一资源。 7. 数据分析 功能:Redis 的数据结构(如哈希、列表和集合)使其适合处理复杂的数据分析任务。 应用:实时分析用户行为、统计数据等。 8. 任务队列 功能:Redis 可以用作任务队列,支持高效的任务调度和处理。 应用:在后台处理任务、异步处理等场景中使用 Redis 作为消息队列。 |
2
giserman001 14 小时 14 分钟前
我公司专门做物联网,使用 redis 主要是为了缓存,提升接口请求速度。
|
3
donaldturinglee 14 小时 12 分钟前
想通过学习实例用 C++重新实现一个 mini redis ,用来学习数据结构和缓存
|
4
78786381 14 小时 10 分钟前
抖个机灵,拿 redis 当数据库
|
5
liuqitoday 14 小时 8 分钟前
我这里目前使用的大部分场景还是缓存和分布式锁
|
6
CathayChen 14 小时 8 分钟前
缓存 队列 小项目必备的,抽不中就自己去下单购买
|
7
sun522198558 14 小时 1 分钟前
缓存
|
8
defunct9 13 小时 59 分钟前
垫桌子腿用
|
9
luziafy 13 小时 59 分钟前
我们用 redis 的作用就是放下 token ,但是说实话把 token 放 MySQL 也行,放文件也行,没有什么区别,因为我们只有一万多用户...
|
10
ca2oh4 13 小时 58 分钟前
不是大学生,给我
|
11
jaylee4869 13 小时 58 分钟前
API Cache & User Login Session
|
12
cxxlxx 13 小时 58 分钟前
学习,几年前上学校招时候买了 Redis 设计与实现,最近准备再搞一本学习下新的特性
|
13
Ansen 13 小时 57 分钟前
你们都拿来做缓存吗? 我司直接拿 redis 作为主数据库(aof),8 年多了, 没啥问题,这两年项目不行了,为了省内存进行了二次开发,集成了 RocksDB 的冷数据落地功能
|
14
brookepe 13 小时 56 分钟前
缓存 队列
|
15
HFX3389 13 小时 55 分钟前
@vip5000521 #1 但 V2 的规则有一条:请不要把 AI 生成的内容发送到这里
|
16
fengci 13 小时 54 分钟前
我是大学生,给我
|
17
HFX3389 13 小时 53 分钟前
我用 Redis 做 IP 的心跳包,60 秒 TTL ,程序订阅 redis 过期消息 60 秒如果没接收到该 IP 的数据就发信息到手机
|
18
fidetro 13 小时 52 分钟前
做客户端的,应该用不上,不一定会看,但是想要
|
19
chandlerbing9317 13 小时 52 分钟前
我去,大神,你的《 Redis 设计与实现》是我读过最好的国产编程书籍,这里居然见到本尊了。
|
20
RobinzzZ 13 小时 51 分钟前
做集群会话共享。 闪光弹!!!!
|
21
PainfulJoe 13 小时 51 分钟前
缓存,队列,分布式锁
|
22
fenglangjuxu 13 小时 51 分钟前
💡💡💡💡💡 有没有眼前一亮?我可是 不辞劳苦去特意找的 [灯] 的 emoji
希望作者的书,有些实质的东西,能为获赠者 更为那些花钱买的人 照亮一二,对得起别人花的钱。 不至于像我一样,本来很少买书,但是买的书都是垃圾,以至于我都不想买实体书了。 |
23
8355 13 小时 50 分钟前
你好老黄
|
24
zzzzaaa 13 小时 50 分钟前 via iPhone
做缓存 ,避免数据库被打崩,做队列,消费消息
|
25
yessirpopesama 13 小时 50 分钟前
缓存、分布式锁、排行榜
|
26
HCL666666 13 小时 47 分钟前
我们部门是做审核的 我们用 redis 作为消息队列向下游业务方回写审核消息 很多年了 没有任何问题
|
27
Deteriorator 13 小时 45 分钟前
上一本书还在看, 又有新书了? 6
|
28
aladdinding 13 小时 39 分钟前
用 redis 秒杀面试官!
|
29
madtwilight 13 小时 39 分钟前 via Android
也就是存放 token ,以及服务发现路由信息
|
30
cookygg 13 小时 34 分钟前
|
31
brom111 13 小时 28 分钟前
✨✨✨✨✨✨✨✨✨✨✨✨✨太亮了哥
|
32
bringyou 13 小时 25 分钟前
以前看过《 Redis 设计与实现》,里面逐行逐行讲解源码的方式让我收获很大。我使用 redis 当作缓存和消息队列(stream)
|
33
PersistentCutie 13 小时 21 分钟前
1. 缓存
用途:存储热点数据,减少数据库压力,提高系统响应速度。 应用场景: 缓存常用的用户信息、配置数据等。 电商平台的商品详情页、热销商品列表缓存。 API 请求结果的缓存以减少后端计算。 2. 分布式锁 用途:实现分布式系统中的同步机制,避免资源竞争。 应用场景: 秒杀系统中,控制用户抢购商品的并发数。 定时任务系统的分布式调度,确保任务不被多次执行。 3. 消息队列 用途:通过 Redis 的 List 或 Stream 实现消息队列功能。 应用场景: 实现简单的生产者-消费者模型。 异步任务处理,比如发送邮件、短信等。 实时数据流处理。 4. 会话管理 用途:存储用户登录会话信息,支持快速读写。 应用场景: 用户认证时,保存 Token 或 Session 信息。 实现单点登录( SSO )功能。 防止 Session 固化,支持分布式负载均衡。 5. 实时排行榜 用途:基于 Redis 的有序集合( Sorted Set ),可以高效实现排名功能。 应用场景: 游戏的实时积分排行榜。 社交平台的热门话题榜单。 电商平台销量或搜索热度排名。 6. 数据分析 用途:利用 Redis 高效的计数功能( HyperLogLog 、Bitmap 等),支持实时统计。 应用场景: 网站独立用户( UV )统计。 实时在线人数统计。 活动参与数据统计。 7. 分布式数据共享 用途:在多个服务间共享数据,避免多次查询或计算。 应用场景: 分布式系统中共享的配置数据。 数据同步工具。 实现轻量级的共享状态管理(如标志位、状态机等)。 8. 地理位置服务 用途:使用 Redis 的 Geo 功能,处理地理位置信息。 应用场景: 附近的人/店铺查询。 基于位置的路径规划或服务推荐。 实现基于地理围栏的功能。 9. 计数器 用途:高效处理需要实时计数的场景。 应用场景: 实时点赞数、播放量统计。 限流操作(如接口调用计数)。 商品库存实时扣减。 10. 发布/订阅 用途:通过 Redis 的 Pub/Sub 模型实现消息的广播和订阅。 应用场景: 实现实时聊天系统。 系统间的消息通知。 多实例间的配置热更新。 11. 延时任务 用途:使用 Sorted Set 或 List 来实现任务的延迟执行。 应用场景: 定时取消未支付的订单。 发送延时提醒或通知。 事件到期的处理逻辑。 12. 流量削峰填谷 用途:结合队列和限流功能,对高并发请求进行缓冲和削峰。 应用场景: 秒杀或抢购系统的请求削峰。 限流策略的实现,例如限 IP 、限用户操作。 |
34
baohan 13 小时 21 分钟前
缓存数据库查询/计算的结果
当消息队列,当分布式锁 存储一些非关键数据(登录 token 之类的) 存榜单信息 存排行信息 算 uv 配合 lua 脚本可以把一些复杂点的操作原子化 |
35
NASK 13 小时 16 分钟前
数据库、队列、缓存、搜索本质上都用来解决数据密集型应用的的数据系统。由于越来越多的应用系统需求广泛, 单个组件往往无法满足所有数据处理与存储需求,所以产生了上面这些不同用途的数据系统,如果还不能满足就考虑分布式。另一方面,不同功能的数据系统的的边界越来越模糊,比如 Redis 可以同时用于数据存储和消息队列。
|
36
ziry 13 小时 16 分钟前
做缓存用,主要用于会话管理、热的数据缓存、分布式锁等。
|
37
ninetyone 13 小时 0 分钟前
最基础的用途用来当做缓存加速、登录会话管理和分布式锁。
在 Redis 使用手册理还学会了通过 GEO 来计算地理位置,已经用在了公司的一个给加油站按距离排序的项目上。 |
38
yiihub 12 小时 59 分钟前
还有没有,来了
|
39
solupro 12 小时 57 分钟前
支持支持,多年前读过作者的《 Redis 设计与实现》受益匪浅。
|
40
UIHIHUHIU 12 小时 56 分钟前
和数据库有关的东西吗?还有 Python 实例代码,感觉很厉害的样子,可能考上研后会用得上
|
41
jinhanzhang2005 12 小时 56 分钟前
支持,在校大学生,数据库课给大家做过 pre 讲 redis 基础,但是自己也是学了皮毛,想深入学习一下。
|
42
intchensc 12 小时 50 分钟前
还没用过,如果送我书,我就开始学 redis
|
43
manami 12 小时 44 分钟前 1
作者大大您好,我是 redis 的忠实用户,我在自己写的社区程序把 redis 用到了极致。
我把每一个用户、主题、回复等(网站目之所见)都缓存了起来,有改动就做对应更新,并同步修改 redis 。除了用作缓存,还使用了 redis 5.0 版本后的 streams ,结合 websocket 实现消息的实时推送。 在 redis 的加持下,社区程序无论是性能、访问速度都变得非常之快,快到飞起! 社区地址: https://fffdann.com |
44
cheny233 12 小时 44 分钟前
黄 sir ~ 我要进步!!!
|
45
proprobe 12 小时 39 分钟前 via Android
还在学习中,买了本《 redis 开发与运维》在想 3.0 会不会太老了,您就写了最新的。最开始学的时候是跟的视频教程,但一直都只是练手的学习项目,对 redis 用 lua 去实现事务比较感兴趣,很多游戏开发都见到用 lua 去写脚本。
|
46
XieBoCai 12 小时 28 分钟前
公司花大价钱买了 Redis 服务,但我不知道 Redis 能干嘛,所以我需要这本书
|
47
likeyagao 11 小时 55 分钟前
Redis 作为内存数据库,有优点,也有缺点,大型应用中,海量数据,内存消耗是肉眼可见的,主要体现在一个"快"字上,因为好用,所以我用来存点热点数据、还是不错的
|
48
noder 11 小时 51 分钟前
Redis, 在一次面试过程中被面试官 DISS 了足足 10 分钟,今因失业,所以不得不重新打开这段技术话题。希望借助能深入理解 Redis, 并帮助我下次战胜面试官。嗯,就是这样想的。
|
49
bojue 11 小时 45 分钟前
@chandlerbing9317 你说中国人不骗中国人,我就下单
|
50
yuanyao 11 小时 32 分钟前
第一家很小的直播公司,使用 redis sorted set 做直播间各种排行榜,还有数据缓存。
第二家头部短视频公司,使用 redis 做持久化存储,如主播个人信息,主要借助基础平台提供的异构数据同步完成 mysql->redis 的自动同步;使用 redis 做临时数据存储;使用 redis 做热点数据缓存; 第三家公司,使用 redis 做用户 AccessToken 存储,过期时间和 token 有效期是一致的。 |
51
cyndihuifei 10 小时 22 分钟前 via iPhone
居然看到作者的帖子,要留言
|
52
cobbage 10 小时 14 分钟前
session 会话、缓存、队列
|
53
fengFly 9 小时 54 分钟前 via Android
我们项目拿 Redis 实现了分布式 sequence 来替代国产 goldendb sequence 不让用的窘境,进而生成全局确认号,做批量理财核心应用
|
54
pinkrab 9 小时 36 分钟前
V 社真的卧虎藏龙,第一次离大佬这么近。
|
55
EnderAvaritia 9 小时 24 分钟前
可以拿来存小说吗?听说数据库用来存小说性能很不错
|
56
admol 9 小时 20 分钟前
会话、缓存、锁
|
57
kneo 9 小时 16 分钟前
三本也太少了……前面的挺努力了,我让了吧。
|
58
dcsuibian 9 小时 11 分钟前
支持。有幸读过大佬的书。
我倒没有用 Redis 干什么特别的事,不过我在尝试写一个 Java 版的 Redis ,想用于测试环境使用 https://github.com/dcsuibian/jredis |
59
ylhawj 8 小时 57 分钟前 via iPhone
看了前五章,感觉很不错,买一本支持一下,我们主要用来存放 session ,分布式锁,
|
60
zuotun 8 小时 51 分钟前
感觉好多楼有种淘宝好评的味道,看了一下书显示五折也才三十五块钱而且接近两百页了,V 站的人至于吗?(没抽中自己买 +1
|
61
geekerit 8 小时 45 分钟前
1.缓存:核心功能,必须的,更确切的是多实例运行时的共享缓存;
2.单点登录:多系统存储用户登陆信息 3.限流器:外部系统请求接口需要限流,可以是全局限流或者针对单实例的限流 4.分布式锁:系统关键处理如任务的分发、资源锁定等 5.灰度实例存储:我们系统的业务需要在某些场景下实现部分业务走灰度发布,此时需要在服务实例启动时标记自身为灰度节点上报到 Redis ,其他所有业务节点通过判断是否处于灰度节点,来决定是否执行该节点的业务 暂时就想到这么多吧,大佬的书很早就读过,参与下 |
62
lmaq 8 小时 37 分钟前
缓存,队列,分布式锁
|
63
wxd21020 8 小时 28 分钟前
一个呼叫视频坐席的项目,使用 redis 做呼叫队列。
|
64
ajunno 4 小时 55 分钟前 via Android
我刚参加工作时,就是读您的《 Redis 设计和实现》入的门,写的真好。工作中用 Redis 做任务队列,也借助 Redisson ,间接用 Redis 实现了分布式锁和延迟队列。Redisson 设计的很巧妙,很多其他语言封装的库也都在模仿。最近一个比较有意思的场景:接手的项目将 Protobuf 结构直接序列化写到 Redis 中,产生了原子编辑的新需求。我用 Lua 脚本反解 Protobuf 的 TLV 比特流,在 Redis 中原地修改,避免读出-修改-写入的额外开销。
之前维护其他项目的时候,也遇到过把 Redis 当 DB 用、结果数据增长太猛难以为继的情况。搭了一套腾讯开源的 Tendis 集群,是个兼容 Redis 协议的 RocksDB 封装,硬盘容量可比内存大多了,后来没有维护了。此外还维护过一段时间 sentinel 集群,遇到过生产环境选主失败的 P0 大场面,发现是配置漂移引起的,含泪扛下了前任草台班子的锅。 最后感慨 Redis 发展很快,已经有点跟不上变化。前不久读文档发现,从 7.4 开始支持对 hash 的 key 设置 ttl ,我工作中的一些业务场景确实需要这个,但线上万年 Redis 5 ,只能望梅止渴。 |