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

分享你的 Redis 故事,赢《Redis 使用手册》赠书!

  •  1
     
  •   huangz ·
    huangz1990 · 2019-10-15 11:19:20 +08:00 · 17120 次点击
    这是一个创建于 1871 天前的主题,其中的信息可能已经有所发展或是发生改变。

    《 Redis 使用手册》封面

    大家好,我是《 Redis 使用手册》的作者黄健宏。

    本人刚刚从出版社那里拿到了一些样书,本着回馈读者的想法,特举办本次活动,打算送出一些样书。

    以下是本次活动的规则:

    • 请回帖分享你的 Redis 故事,内容和形式不限。你可以说说你是怎样知道 Redis 的,你和你的公司是怎样使用 Redis 的,又或者你拿 Redis 做了什么有趣的事情,诸如此类,都可以。

    • 本次活动截止时间为北京时间 2019 年 10 月 18 日(星期五)中午 12 点。活动截止之后,我会挑选出三条我认为最有趣的回帖,并向这三条回帖的发帖人每人赠送一本《 Redis 使用手册》。

    • 获奖者名单将在本帖以附言形式公布。赠书将会包邮寄送,获奖者不需要承担任何费用。

    • 回帖的内容越有趣,描述越详细,被选中的可能性就越大,想要赠书的朋友记得好好回帖哦!

    • 本人保留此次活动的最终解释权。

    以上就是本次赠书活动的全部规则,欢迎朋友们踊跃参与本次活动。

    本次活动赠送的所有样书均由机械工业出版社提供,特此感谢!

    想要了解更多关于《 Redis 使用手册》的信息,请访问书本的主页:RedisGuide.com

    第 1 条附言  ·  2019-10-18 12:52:34 +08:00
    感谢各位参与本次活动,经考虑,本人最终选定 @KasuganoSoras @leadersnowy 和 @Dogergo 为本次活动的获奖者。请这三位朋友将你们的收件地址和手机号等信息发送至 [email protected] ,我会尽快与你们联系并寄送奖品。

    没有被抽中的朋友也不用灰心,请关注我的微博和 twitter,接下来还会有其他送书活动,期待你们的参与!
    第 2 条附言  ·  2019-11-01 14:53:31 +08:00
    刚刚在微博上新发布了一个转发赠书活动,送出 3 册《 Redis 使用手册》,上次没被抽中的朋友可以来这里试试运气!
    https://weibo.com/3219474004/IebSBcHuW
    75 条回复    2019-11-15 12:19:39 +08:00
    gerorim
        1
    gerorim  
       2019-10-15 11:25:47 +08:00   ❤️ 1


    图挂了, 用 http 协议应该可以,补图。
    misaka19000
        2
    misaka19000  
       2019-10-15 11:28:46 +08:00
    楼主头像好可爱👌
    lazyfighter
        3
    lazyfighter  
       2019-10-15 11:35:10 +08:00
    公司的分布式 kv,用的是 redis 协议,然后我再 redis 协议的基础上封装了一层 http
    ![15711103925319 的副本.jpg]( https://i.loli.net/2019/10/15/cCKQ8JEV5GZ7wkP.jpg)
    KasuganoSoras
        4
    KasuganoSoras  
       2019-10-15 11:50:28 +08:00   ❤️ 1
    Sakura Frp ( https://www.natfrp.org) 最早的所有用户配置文件都是实时从数据库查询的,后来因为用户量越来越大数据库开始顶不住了,于是就用 Redis 缓存了每个用户的配置,极大地缓解了数据库的压力。

    Moe IP ( https://ip.mcr.moe/) IP 归属地查询库,我也用到了 Redis 做查询结果缓存,优化第二次查询的响应速度,优化后的效果还是不错的。

    ZeroBBS ( https://www.zerobbs.net/) 我写的一个论坛程序,在帖子列表、内容以及评论上都用到了 Redis 做缓存,配合 WebSocket 评论区使用,服务器压力更低,让访问体验更好。

    Redis 是个好东西 √
    TypeErrorNone
        5
    TypeErrorNone  
       2019-10-15 11:53:47 +08:00
    现在写业务,基本上都是 redis 做逻辑数据的操作,db 只是个持久化的存储。
    xbdsky
        6
    xbdsky  
       2019-10-15 12:06:29 +08:00
    mac redis 安装了一天,你信吗?哈哈
    jinliming2
        7
    jinliming2  
       2019-10-15 12:12:04 +08:00 via iPhone
    redis 被任意代码执行,挂了个挖矿脚本……
    shangyes
        8
    shangyes  
       2019-10-15 12:14:37 +08:00
    @jinliming2 清流
    chuhemiao
        9
    chuhemiao  
       2019-10-15 12:34:15 +08:00
    推特 坟
    songjiaxin2008
        10
    songjiaxin2008  
       2019-10-15 12:37:43 +08:00
    发短信 存 token 基本都用到 redis 哈哈 上次做一个歌单拖动排序,也用到了 redis 的 SortedSet
    JunoNin
        11
    JunoNin  
       2019-10-15 12:46:43 +08:00 via Android
    用户量多后,数据操作频繁后为了缓解数据库压力,改用 redis 了
    Sendya
        12
    Sendya  
       2019-10-15 12:54:15 +08:00 via Android
    一年前用 redis 做最多的事情就是写 lua 脚本,少则 50 行,多则上千行。然后 java 调用。
    今年公司技术架构重构,把核心业务相关 redis 全换下来了,改用公司自己开发的中间件,普通业务还是用 redis 缓存。
    somedayiamold
        13
    somedayiamold  
       2019-10-15 12:57:37 +08:00   ❤️ 1
    最早接触 redis 应该是在去年,虽然久闻 redis 的大名,但是没有实际了解和使用过,使用是因为系统需要实现用户访问限速,调研之后发现 redis 能够很方便的实现这个需求,进而开始学习和使用 redis,尝试过使用 redis-sentinel 实现高可用,惊异于 redis 优雅的实现和高性能,于是买了《 redis 设计与实现》想要进一步学习,不知道这本书还会出第二版吗:),毕竟 redis 已经更新到 5.0 了
    chenqh
        14
    chenqh  
       2019-10-15 12:59:51 +08:00
    什么时候上 kindle?
    storypanda
        15
    storypanda  
       2019-10-15 13:00:44 +08:00 via Android
    准备进入开发坑,希望可以学习一波。
    scnace
        16
    scnace  
       2019-10-15 13:09:28 +08:00
    现在没有故事,我的 Redis 故事就靠这本书了!(
    zhuyichen1017
        17
    zhuyichen1017  
       2019-10-15 13:11:42 +08:00
    现在没有故事,我的 Redis 故事就靠这本书了!
    nolo
        18
    nolo  
       2019-10-15 13:33:36 +08:00
    最开始知道 Redis 是我在这发的贴: https://v2ex.com/t/333136,那时候还是学生一枚。利用了 Redis 过期通知的特性。
    后来工作后,用 Redis 构建一个高性能的 kv 缓存,解放一些 DB 的压力。
    ChristopherWu
        19
    ChristopherWu  
       2019-10-15 13:41:58 +08:00
    工作一些时间了,从来木有真正用过 redis。

    现在在中间件团队工作,就是做 redis 的工具,还在公司工作期间做了雪球开源的 redis 内存分析工具的 main contributer

    https://github.com/xueqiu/rdr/pull/27

    https://github.com/xueqiu/rdr/issues/26
    Dogergo
        20
    Dogergo  
       2019-10-15 13:53:07 +08:00   ❤️ 1
    之前在畅游做 H5 游戏平台的开发工作,有很多游戏排行榜的东西。当时的设计方案就是使用 redis 的 zset 数据类型。天然符合做这种事情。当然这并不是一个精彩的故事,精彩的故事是在我离开畅游之后,入职了一家 B 轮创业公司,我的小 leader (算是组长的角色),居然在遍历里边去查询数据库,在被我委婉建议了之后,他居然改位在遍历中去使用 hget 查询 redis,要查询的数据是单个城市开通的业务.分明一个用数组+index 就能搞定的事情(缓存 json 到 redis,只用取一次,然后转成数组 /对象,拿 index 去取就完了)。每次发网络请求是不需要时间吗,我滴天。所以在试用期结束后,我再一次离职了。
    pangleon
        21
    pangleon  
       2019-10-15 13:57:33 +08:00 via Android
    给宁波一家银行装 redis 集群,用的自带的 cluster 工具,结果银行电脑安全性要求太高!啥也没有,先是编译少东西,然后没有 ruby,而官方集群工具依赖 ruby,总而言之一把辛酸泪。大家老老实实哨兵吧
    EastLord
        22
    EastLord  
       2019-10-15 14:00:06 +08:00
    我只拿它当过缓存😢
    alpha2016
        23
    alpha2016  
       2019-10-15 14:05:14 +08:00
    现在没有故事,我的 Redis 故事就靠这本书了!
    alex0721
        24
    alex0721  
       2019-10-15 14:37:23 +08:00
    我在上家公司用的 redis,redis+mysql+localcache 做三层存储,后来有一次公司网站流量暴涨,服务器实在是撑不住了,就紧急上线,把结果 json 直接 hardcode 到代码层面了 (╥╯^╰╥),现在去了 bat,但是技术上面用的越来越 low(╥╯^╰╥)
    VensonEEE
        25
    VensonEEE  
       2019-10-15 14:49:33 +08:00
    乞丐:”哎,小弟,小弟,别走啊。“

    乞丐:”哇,不得了啊不得了,你有道灵光从天灵盖喷出来,你知道嘛,年纪轻轻的就有一身横练的筋骨,简直百年一见的练武奇才啊,如果有一天让你打通任督二脉,你还不飞龙上天,正所谓我不入地狱,谁入地狱……“

    乞丐:”警恶惩奸,维护世界和平这个任务就交给你了,好嘛?“小孩点头说:”唔!“乞丐:”这本《 Redis 使用手册》秘笈是无价之宝,我看与你有缘,收你十块钱,传授给你吧。“
    stitches
        26
    stitches  
       2019-10-15 14:54:52 +08:00 via iPhone
    工作中有个场景我一直有疑惑:为少量商品设置了促销活动,所有商品都需要判断是否参加了促销活动,这种适合把促销活动放 redis,然后使用 redis+mysql 这种两层查询结构吗?因为参加活动的商品属于少数,redis 命中的概率比较低,所以大多数请求还是会到 mysql,这种情况有使用 redis 的必要吗?@huangz
    wccc
        27
    wccc  
       2019-10-15 15:28:17 +08:00
    redis 中存账户金额数据,然鹅数据库事务回滚以后,并没有做处理.
    后来我全部重写了
    leadersnowy
        28
    leadersnowy  
       2019-10-15 16:09:32 +08:00   ❤️ 1
    印象中用 redis 已经用了 4、5 年了吧,从最开始用缓存记录数据库操作的错误。大批量的数据库操作,出错的放 redis 里面,操作完成之后再把出错的再来一遍,是不是很 6。后来整个系统优化了, 这一步就省了,哈哈。印象中比较深刻的是用 redis 做的一个类似于秒杀的活动,用到了 redis 的 list 跟 hashtable,list 用来做队列控制访问数据,hash 用来做用户跟商品的缓存,快速更新状态。活动开始前从数据库里加载好,之后所有操作都在 redis 里,最后再做一下数据库的同步。中间也经历了很多惊险的过程,一步一步做优化。过程还是挺美好的。
    sweat89
        29
    sweat89  
       2019-10-15 16:12:36 +08:00
    @stitches 你这种场景,redis 查不到就直接返回,不要查数据库了
    benzalus
        30
    benzalus  
       2019-10-15 16:38:15 +08:00
    在 aws 上用 redis ( aws 上服务的名字叫 elasticCache )。当初信心满满一天上线,本地测试了一天,老是连不上,安全组确认了 n 次,在本地测试 debug 一整天后,骂骂咧咧的回家了。之后才看到 aws 文档上写的“不允许通过任何方式在 VPC 外访问 elasticCache”(其实可以搭隧道,就是不安全)。从此养成认真看文档的习惯(是不是离题了???)
    fishofcat
        31
    fishofcat  
       2019-10-15 16:49:44 +08:00
    我就因为 redis 没用过,面了那么多次阿里都失败了。楼主你看我是不是看了这本书后就可以成功了。
    kasper4649
        32
    kasper4649  
       2019-10-15 16:52:26 +08:00 via iPhone
    如果能送我这本书,那我和 redis 的故事就开始了。
    virus94
        33
    virus94  
       2019-10-15 16:57:48 +08:00
    哇 感谢各位大佬的分享
    fumichael
        34
    fumichael  
       2019-10-15 17:07:44 +08:00
    刚学习 redis 时在阿里云模拟了一个 redis 集群,也没设置密码,过了一天,阿里云检测到有攻击,然后把我的服务关掉了
    sunshinevim
        35
    sunshinevim  
       2019-10-15 17:18:02 +08:00
    挺好用的一个缓存技术
    judeng
        36
    judeng  
       2019-10-15 17:25:11 +08:00
    大佬来分享下 slave 改成 replica 的来龙去脉啊
    ppyer
        37
    ppyer  
       2019-10-15 18:38:20 +08:00   ❤️ 1
    忘记在哪里看的了,有个大佬说 90 后黄健宏很厉害,就查了下,现在在看 Redis 实战
    kansyoukyou
        38
    kansyoukyou  
       2019-10-15 18:39:30 +08:00
    现在没有故事,我的 Redis 故事就靠这本书了 :)
    huangz
        39
    huangz  
    OP
       2019-10-15 20:44:32 +08:00
    @chenqh Kindle 有的,在这里: https://www.amazon.cn/dp/B07YBRPVB8
    zuokanyunqishi
        40
    zuokanyunqishi  
       2019-10-15 20:58:27 +08:00 via Android
    等大佬书正式出版呀!
    useben
        41
    useben  
       2019-10-15 21:19:02 +08:00
    xfabs
        42
    xfabs  
       2019-10-15 22:12:51 +08:00 via iPhone
    去年接触一个新项目才有使用 Redis,高并发的场景,版本 3.2.8
    huangz
        43
    huangz  
    OP
       2019-10-15 22:22:27 +08:00
    @useben 这个不是第二版,是最初发布在网上的 alpha 版本,比现在书本的版本要久。这个网站改个名字叫“第二版”应该只是为了赚点击吧(笑)。
    Aphsss
        44
    Aphsss  
       2019-10-15 22:53:29 +08:00
    做了一个 REDIS 迁移的小工具, 在源数据库判断版本用 SCAN 还是 KEYS 获取所有 KEY 和他的过期时间,在目的数据库保存。 有趣的是,TTL 获取过期时间的时候,KEY 不过期返回-1. 然后保存过期时间的时候 EXPIRE 必须大于 0, 一开始我傻乎乎的 EXPIRE -1
    useben
        45
    useben  
       2019-10-16 09:09:25 +08:00
    @huangz 多谢胸 dei 告知
    TaAmSf
        46
    TaAmSf  
       2019-10-16 09:40:39 +08:00   ❤️ 1
    购买链接在哪里呀!!
    huangz
        47
    huangz  
    OP
       2019-10-16 09:58:29 +08:00
    @TaAmSf RedisGuide.com 上面有各个版本的购买链接。
    Canon1014
        48
    Canon1014  
       2019-10-16 10:11:38 +08:00   ❤️ 1
    我的天,go web 是你译的呀 膜拜膜拜
    aatao
        49
    aatao  
       2019-10-16 10:18:49 +08:00
    印象最深的还是没修改默认密码,中了挖矿病毒然后 CPU 跑满,导致搭的猥皮恩看个片好像都卡卡的(虽然关系好像不大)
    Raisu
        50
    Raisu  
       2019-10-16 10:19:09 +08:00
    从零到一
    466730846
        51
    466730846  
       2019-10-16 10:31:23 +08:00
    @KasuganoSoras 体验了下 ip 查询的,界面简洁很舒服!
    CantSee
        52
    CantSee  
       2019-10-16 11:06:09 +08:00
    公司用来存接口的 tocken 信息(因为是需要定时刷新的)!
    qichengzx
        53
    qichengzx  
       2019-10-16 11:09:11 +08:00
    正在写一个基于 RESP 协议的存储中间件。我的 Redis 故事就靠这本书了。
    xiangchen2011
        54
    xiangchen2011  
       2019-10-17 09:06:58 +08:00
    从入门到放弃是 Redis
    huangz
        55
    huangz  
    OP
       2019-10-18 12:53:40 +08:00
    获奖者已在主贴以附言形式公布,感谢大家的参与!
    huangz
        56
    huangz  
    OP
       2019-10-18 21:38:54 +08:00
    @leadersnowy 确认一下,有个电话尾号为 6587 的人通过邮件跟我取得了联系,是您本人吗?
    HuasLeung
        57
    HuasLeung  
       2019-10-20 10:48:43 +08:00 via Android
    竟然错过了 QAQ
    huangz
        58
    huangz  
    OP
       2019-10-21 10:11:28 +08:00
    @HuasLeung 没事,我微博和 twitter 接下来还会发布其他送书互动,欢迎参与。
    HuasLeung
        59
    HuasLeung  
       2019-10-21 12:15:40 +08:00 via Android
    @huangz 期待!
    huangz
        60
    huangz  
    OP
       2019-10-25 10:32:30 +08:00
    请 @KasuganoSoras 和 @Dogergo 尽快联系我以领取赠书。
    Dogergo
        61
    Dogergo  
       2019-10-25 10:53:46 +08:00
    @huangz 非常感谢,荣幸之至。邮件已发送。之前由于各种原因没有看到,非常抱歉。
    Dogergo
        62
    Dogergo  
       2019-10-25 10:54:33 +08:00
    @Dogergo 尾号 5966
    KasuganoSoras
        63
    KasuganoSoras  
       2019-10-25 12:55:04 +08:00
    @huangz #60 感谢!已发邮件,尾号是 4532
    huangz
        64
    huangz  
    OP
       2019-10-26 00:45:13 +08:00
    @Dogergo 收到,明天寄送赠书!
    huangz
        65
    huangz  
    OP
       2019-10-26 00:45:21 +08:00
    @KasuganoSoras 收到,明天寄送赠书!
    Dogergo
        66
    Dogergo  
       2019-10-29 09:25:48 +08:00
    @huangz 感谢,已收到赠书。再次表示感谢,书的背后还有"赠书尊享"四个字,像是一个彩蛋。很开心。
    KasuganoSoras
        67
    KasuganoSoras  
       2019-10-29 10:57:06 +08:00
    @huangz #65 我也收到了,非常感谢~希望以后我能把 Redis 应用到更多地方
    javacodecreeks
        68
    javacodecreeks  
       2019-10-30 14:43:51 +08:00 via iPhone
    @huangz 大佬是不是广东人?哈哈哈
    huangz
        69
    huangz  
    OP
       2019-11-01 13:44:46 +08:00
    @Dogergo @KasuganoSoras 收到就好,不用客气 😁
    huangz
        70
    huangz  
    OP
       2019-11-01 13:44:57 +08:00
    @javacodecreeks 嗯,广东的。
    huangz
        71
    huangz  
    OP
       2019-11-01 14:53:15 +08:00
    刚刚在微博上新发布了一个转发赠书活动,送出 3 册《 Redis 使用手册》,上次没被抽中的朋友可以来这里试试运气!
    https://weibo.com/3219474004/IebSBcHuW
    javacodecreeks
        72
    javacodecreeks  
       2019-11-01 16:12:41 +08:00 via iPhone
    @huangz #70 我以前买过你写的 redis 设计与实现这本书,写得相当不错啊!真心的膜拜
    huangz
        73
    huangz  
    OP
       2019-11-01 18:56:57 +08:00
    @javacodecreeks 谢谢!
    javacodecreeks
        74
    javacodecreeks  
       2019-11-01 21:39:02 +08:00 via iPhone
    @huangz #73 唔洗唔该
    somedayiamold
        75
    somedayiamold  
       2019-11-15 12:19:39 +08:00
    @useben 第二版是 redis 几版本了,看起来封面上没有标注第二版
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1218 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 18:32 · PVG 02:32 · LAX 10:32 · JFK 13:32
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.