V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
huangz
V2EX  ›  程序员

赠送几本《Redis 应用实例》

  •  2
     
  •   huangz ·
    huangzworks · 14 小时 16 分钟前 · 1285 次点击

    各位 V2EXer 大家好,我是《 Redis 应用实例》的作者黄健宏!

    最近新书刚刚出版,今天问出版社拿了些样书进行宣传,好些年前在 V2EX 给大家送过我的其他两本 Redis 书,大家反应都很热情,所以这次我也一如既往地回到这里办赠书活动,希望这次也能得到大家的关注吧!

    这次给大家带来 3 本我的新书《 Redis 应用实例》,以下是本次赠书活动的规则:

    • 请回复本帖并写出您使用 Redis 的用途,也即是您拿 Redis 来干什么,实现什么功能、做什么应用,诸如此类

    • 我会在大家的回复中选择 3 条我觉得有趣或眼前一亮的回复,并向每位回复者赠送《 Redis 应用实例》纸书 1 本

    • 本次活动到 2024 年 12 月 2 日 0 时截止,本人保留所有解释权

    感谢大家参与此次活动~!

    书本信息

    第 1 条附言  ·  13 小时 25 分钟前
    微博当前也在办赠书活动,欢迎大家也到那边去碰碰运气: https://weibo.com/3219474004/P2y7y4PGK
    64 条回复    2024-11-30 02:47:59 +08:00
    vip5000521
        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 作为消息队列。
    giserman001
        2
    giserman001  
       14 小时 14 分钟前
    我公司专门做物联网,使用 redis 主要是为了缓存,提升接口请求速度。
    donaldturinglee
        3
    donaldturinglee  
       14 小时 12 分钟前
    想通过学习实例用 C++重新实现一个 mini redis ,用来学习数据结构和缓存
    78786381
        4
    78786381  
       14 小时 10 分钟前
    抖个机灵,拿 redis 当数据库
    liuqitoday
        5
    liuqitoday  
       14 小时 8 分钟前
    我这里目前使用的大部分场景还是缓存和分布式锁
    CathayChen
        6
    CathayChen  
       14 小时 8 分钟前
    缓存 队列 小项目必备的,抽不中就自己去下单购买
    sun522198558
        7
    sun522198558  
       14 小时 1 分钟前
    缓存
    defunct9
        8
    defunct9  
       13 小时 59 分钟前
    垫桌子腿用
    luziafy
        9
    luziafy  
       13 小时 59 分钟前
    我们用 redis 的作用就是放下 token ,但是说实话把 token 放 MySQL 也行,放文件也行,没有什么区别,因为我们只有一万多用户...
    ca2oh4
        10
    ca2oh4  
       13 小时 58 分钟前
    不是大学生,给我
    jaylee4869
        11
    jaylee4869  
       13 小时 58 分钟前
    API Cache & User Login Session
    cxxlxx
        12
    cxxlxx  
       13 小时 58 分钟前
    学习,几年前上学校招时候买了 Redis 设计与实现,最近准备再搞一本学习下新的特性
    Ansen
        13
    Ansen  
       13 小时 57 分钟前
    你们都拿来做缓存吗? 我司直接拿 redis 作为主数据库(aof),8 年多了, 没啥问题,这两年项目不行了,为了省内存进行了二次开发,集成了 RocksDB 的冷数据落地功能
    brookepe
        14
    brookepe  
       13 小时 56 分钟前
    缓存 队列
    HFX3389
        15
    HFX3389  
       13 小时 55 分钟前
    @vip5000521 #1 但 V2 的规则有一条:请不要把 AI 生成的内容发送到这里
    fengci
        16
    fengci  
       13 小时 54 分钟前
    我是大学生,给我
    HFX3389
        17
    HFX3389  
       13 小时 53 分钟前
    我用 Redis 做 IP 的心跳包,60 秒 TTL ,程序订阅 redis 过期消息 60 秒如果没接收到该 IP 的数据就发信息到手机
    fidetro
        18
    fidetro  
       13 小时 52 分钟前
    做客户端的,应该用不上,不一定会看,但是想要
    chandlerbing9317
        19
    chandlerbing9317  
       13 小时 52 分钟前
    我去,大神,你的《 Redis 设计与实现》是我读过最好的国产编程书籍,这里居然见到本尊了。
    RobinzzZ
        20
    RobinzzZ  
       13 小时 51 分钟前
    做集群会话共享。 闪光弹!!!!
    PainfulJoe
        21
    PainfulJoe  
       13 小时 51 分钟前
    缓存,队列,分布式锁
    fenglangjuxu
        22
    fenglangjuxu  
       13 小时 51 分钟前
    💡💡💡💡💡 有没有眼前一亮?我可是 不辞劳苦去特意找的 [灯] 的 emoji
    希望作者的书,有些实质的东西,能为获赠者 更为那些花钱买的人 照亮一二,对得起别人花的钱。
    不至于像我一样,本来很少买书,但是买的书都是垃圾,以至于我都不想买实体书了。
    8355
        23
    8355  
       13 小时 50 分钟前
    你好老黄
    zzzzaaa
        24
    zzzzaaa  
       13 小时 50 分钟前 via iPhone
    做缓存 ,避免数据库被打崩,做队列,消费消息
    yessirpopesama
        25
    yessirpopesama  
       13 小时 50 分钟前
    缓存、分布式锁、排行榜
    HCL666666
        26
    HCL666666  
       13 小时 47 分钟前
    我们部门是做审核的 我们用 redis 作为消息队列向下游业务方回写审核消息 很多年了 没有任何问题
    Deteriorator
        27
    Deteriorator  
       13 小时 45 分钟前
    上一本书还在看, 又有新书了? 6
    aladdinding
        28
    aladdinding  
       13 小时 39 分钟前
    用 redis 秒杀面试官!
    madtwilight
        29
    madtwilight  
       13 小时 39 分钟前 via Android
    也就是存放 token ,以及服务发现路由信息
    cookygg
        30
    cookygg  
       13 小时 34 分钟前
    redis 是什么
    brom111
        31
    brom111  
       13 小时 28 分钟前
    ✨✨✨✨✨✨✨✨✨✨✨✨✨太亮了哥
    bringyou
        32
    bringyou  
       13 小时 25 分钟前
    以前看过《 Redis 设计与实现》,里面逐行逐行讲解源码的方式让我收获很大。我使用 redis 当作缓存和消息队列(stream)
    PersistentCutie
        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 、限用户操作。
    baohan
        34
    baohan  
       13 小时 21 分钟前
    缓存数据库查询/计算的结果
    当消息队列,当分布式锁
    存储一些非关键数据(登录 token 之类的)
    存榜单信息 存排行信息 算 uv
    配合 lua 脚本可以把一些复杂点的操作原子化
    NASK
        35
    NASK  
       13 小时 16 分钟前
    数据库、队列、缓存、搜索本质上都用来解决数据密集型应用的的数据系统。由于越来越多的应用系统需求广泛, 单个组件往往无法满足所有数据处理与存储需求,所以产生了上面这些不同用途的数据系统,如果还不能满足就考虑分布式。另一方面,不同功能的数据系统的的边界越来越模糊,比如 Redis 可以同时用于数据存储和消息队列。
    ziry
        36
    ziry  
       13 小时 16 分钟前
    做缓存用,主要用于会话管理、热的数据缓存、分布式锁等。
    ninetyone
        37
    ninetyone  
       13 小时 0 分钟前
    最基础的用途用来当做缓存加速、登录会话管理和分布式锁。
    在 Redis 使用手册理还学会了通过 GEO 来计算地理位置,已经用在了公司的一个给加油站按距离排序的项目上。
    yiihub
        38
    yiihub  
       12 小时 59 分钟前
    还有没有,来了
    solupro
        39
    solupro  
       12 小时 57 分钟前
    支持支持,多年前读过作者的《 Redis 设计与实现》受益匪浅。
    UIHIHUHIU
        40
    UIHIHUHIU  
       12 小时 56 分钟前
    和数据库有关的东西吗?还有 Python 实例代码,感觉很厉害的样子,可能考上研后会用得上
    jinhanzhang2005
        41
    jinhanzhang2005  
       12 小时 56 分钟前
    支持,在校大学生,数据库课给大家做过 pre 讲 redis 基础,但是自己也是学了皮毛,想深入学习一下。
    intchensc
        42
    intchensc  
       12 小时 50 分钟前
    还没用过,如果送我书,我就开始学 redis
    manami
        43
    manami  
       12 小时 44 分钟前   ❤️ 1
    作者大大您好,我是 redis 的忠实用户,我在自己写的社区程序把 redis 用到了极致。
    我把每一个用户、主题、回复等(网站目之所见)都缓存了起来,有改动就做对应更新,并同步修改 redis 。除了用作缓存,还使用了 redis 5.0 版本后的 streams ,结合 websocket 实现消息的实时推送。
    在 redis 的加持下,社区程序无论是性能、访问速度都变得非常之快,快到飞起!
    社区地址: https://fffdann.com
    cheny233
        44
    cheny233  
       12 小时 44 分钟前
    黄 sir ~ 我要进步!!!
    proprobe
        45
    proprobe  
       12 小时 39 分钟前 via Android
    还在学习中,买了本《 redis 开发与运维》在想 3.0 会不会太老了,您就写了最新的。最开始学的时候是跟的视频教程,但一直都只是练手的学习项目,对 redis 用 lua 去实现事务比较感兴趣,很多游戏开发都见到用 lua 去写脚本。
    XieBoCai
        46
    XieBoCai  
       12 小时 28 分钟前
    公司花大价钱买了 Redis 服务,但我不知道 Redis 能干嘛,所以我需要这本书
    likeyagao
        47
    likeyagao  
       11 小时 55 分钟前
    Redis 作为内存数据库,有优点,也有缺点,大型应用中,海量数据,内存消耗是肉眼可见的,主要体现在一个"快"字上,因为好用,所以我用来存点热点数据、还是不错的
    noder
        48
    noder  
       11 小时 51 分钟前
    Redis, 在一次面试过程中被面试官 DISS 了足足 10 分钟,今因失业,所以不得不重新打开这段技术话题。希望借助能深入理解 Redis, 并帮助我下次战胜面试官。嗯,就是这样想的。
    bojue
        49
    bojue  
       11 小时 45 分钟前
    @chandlerbing9317 你说中国人不骗中国人,我就下单
    yuanyao
        50
    yuanyao  
       11 小时 32 分钟前
    第一家很小的直播公司,使用 redis sorted set 做直播间各种排行榜,还有数据缓存。
    第二家头部短视频公司,使用 redis 做持久化存储,如主播个人信息,主要借助基础平台提供的异构数据同步完成 mysql->redis 的自动同步;使用 redis 做临时数据存储;使用 redis 做热点数据缓存;
    第三家公司,使用 redis 做用户 AccessToken 存储,过期时间和 token 有效期是一致的。
    cyndihuifei
        51
    cyndihuifei  
       10 小时 22 分钟前 via iPhone
    居然看到作者的帖子,要留言
    cobbage
        52
    cobbage  
       10 小时 14 分钟前
    session 会话、缓存、队列
    fengFly
        53
    fengFly  
       9 小时 54 分钟前 via Android
    我们项目拿 Redis 实现了分布式 sequence 来替代国产 goldendb sequence 不让用的窘境,进而生成全局确认号,做批量理财核心应用
    pinkrab
        54
    pinkrab  
       9 小时 36 分钟前
    V 社真的卧虎藏龙,第一次离大佬这么近。
    EnderAvaritia
        55
    EnderAvaritia  
       9 小时 24 分钟前
    可以拿来存小说吗?听说数据库用来存小说性能很不错
    admol
        56
    admol  
       9 小时 20 分钟前
    会话、缓存、锁
    kneo
        57
    kneo  
       9 小时 16 分钟前
    三本也太少了……前面的挺努力了,我让了吧。
    dcsuibian
        58
    dcsuibian  
       9 小时 11 分钟前
    支持。有幸读过大佬的书。
    我倒没有用 Redis 干什么特别的事,不过我在尝试写一个 Java 版的 Redis ,想用于测试环境使用
    https://github.com/dcsuibian/jredis
    ylhawj
        59
    ylhawj  
       8 小时 57 分钟前 via iPhone
    看了前五章,感觉很不错,买一本支持一下,我们主要用来存放 session ,分布式锁,
    zuotun
        60
    zuotun  
       8 小时 51 分钟前
    感觉好多楼有种淘宝好评的味道,看了一下书显示五折也才三十五块钱而且接近两百页了,V 站的人至于吗?(没抽中自己买 +1
    geekerit
        61
    geekerit  
       8 小时 45 分钟前
    1.缓存:核心功能,必须的,更确切的是多实例运行时的共享缓存;
    2.单点登录:多系统存储用户登陆信息
    3.限流器:外部系统请求接口需要限流,可以是全局限流或者针对单实例的限流
    4.分布式锁:系统关键处理如任务的分发、资源锁定等
    5.灰度实例存储:我们系统的业务需要在某些场景下实现部分业务走灰度发布,此时需要在服务实例启动时标记自身为灰度节点上报到 Redis ,其他所有业务节点通过判断是否处于灰度节点,来决定是否执行该节点的业务
    暂时就想到这么多吧,大佬的书很早就读过,参与下
    lmaq
        62
    lmaq  
       8 小时 37 分钟前
    缓存,队列,分布式锁
    wxd21020
        63
    wxd21020  
       8 小时 28 分钟前
    一个呼叫视频坐席的项目,使用 redis 做呼叫队列。
    ajunno
        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 ,只能望梅止渴。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1142 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 23:43 · PVG 07:43 · LAX 15:43 · JFK 18:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.