意外成为残疾总监的心尖宠: 40-50

您现在阅读的是女巫文学www.nw8.cc提供的《意外成为残疾总监的心尖宠》 40-50(第4/15页)

又由近及远。

    病房的门被轻轻推开的时候,苏执没有回头。

    “姐姐!”

    明灿的声音从门口传过来,带着清晨特有的清冽和一点喘不上气的急促,应该是路上跑了。

    苏执这才转过脸,看见明灿一手拎着两个保温袋,另一只手里还拿着一袋东西,头发被晨风吹得有些乱,几缕碎发贴在额角,鼻尖有点红,眼睛弯弯的,笑得很明亮。

    “姐姐你居然醒啦!”明灿走进来,把保温袋放到床头柜上,腾出手来把那袋东西举到苏执面前晃了晃,袋子里发出窸窸窣窣的声响。

    ——是一袋砂糖橘。

    “我问过宫阙姐了,她说你现在可以适当吃一些水果,我买早餐的时候见到路边有阿姨卖,尝了一瓣很甜,就给姐姐带了。”

    苏执抬起眼睛看她。

    明灿把袋子放到一边,转而去拆床头柜上的粥。

    “粥也是小摊上买的,我加了一点点糖——”她说着用手比划了一个半厘米的距离,“就一点点。”

    明灿把保温袋打开,里面是两个一模一样的一次性碗,盖着盖子,看不出区别。她端出上面那碗放到小桌板上,揭开盖子,热气一下子涌上来,裹着米香和南瓜的甜,在晨光里袅袅散开。

    “这碗是你的。”她把勺子搁在碗沿上,又抽了张纸巾折好放在旁边,然后端起另一碗,自己舀了一勺送进嘴里,含混地说,“我的我也趁热吃。”

    苏执看着她腮帮子鼓鼓的、一边嚼一边把保温袋的口袋拉好,她没有再想别的,低下头,拿起勺子,舀了一口粥。

    粥熬得很稠,米粒已经煮得看不出原来的形状,南瓜融化在里面,把整碗粥染成淡淡的金黄色。甜味很轻,若有似无地挂在舌根上,不是糖的甜,是南瓜本身被小火慢炖出来的那种温润。

    “好吃吗?”明灿问,语气里带着一点小心翼翼的期待。

    苏执点了点头,又舀了一勺。

    明灿这才放心地笑起来,低下头专心吃自己那碗,吃了几口忽然想起什么,放下勺子,从袋子里拿出两个砂糖橘,开始剥。她剥得很仔细,橘皮完整地分成几瓣落在桌上,白色的橘络被她一根一根地扯掉,露出橙黄色的果肉,晶莹剔透的,能看见里面饱满的汁水。

    她把剥好的橘子放在纸巾上,推到苏执手边。

    “姐姐先喝粥,喝完再吃橘子。”她说,语气认真得像在交代医嘱。

    苏执看了她一眼,没有说话,低下头继续喝粥。

    明灿又剥了一个,自己吃了一瓣,酸得眯了一下眼睛,然后又把剩下的几瓣放到苏执那边的纸巾上,嘟囔了一句:“这个有点酸,不过酸一点也好,补充维生素C。”

    苏执把粥喝了大半碗,放下勺子,伸手拿起一瓣橘子。

    橘子很小,砂糖橘本来就比普通橘子小一点,剥掉橘络之后更显得玲珑,橙黄色的果肉在光线下几乎是透明的。她放进嘴里,咬破的瞬间汁水溢出来,很甜,几乎没有酸味,甜到舌尖微微发麻。

    “甜的。”她说。

    明灿愣了一下,然后笑起来,颇为自豪的语气:“那当然,我尝过的嘛,不甜我不会买的!”

    苏执没有接这句话,又拿起一瓣橘子,慢慢地吃。

    她生病后,吃东西本来就艰难,此时一点一点吮着橘子里面的汁水,明灿相比就吃的快了很多,一口一个橘子瓣,一口又一个橘子瓣,一颗橘子她三两下就吃完了,吃完又扒。

    两个人就这样面对面地吃着早餐,一个慢慢地喝粥吃橘子,一个风卷残云地把自己那碗粥解决掉,又喝了半杯水,然后心满意足地靠在椅背上,看着苏执吃。

    “姐姐。”明灿忽然叫了一声。

    苏执抬起眼睛。

    “你今天气色比昨天好多了。”明灿说这句话的时候目光很认真,不是在客气或者安慰,是真的在认真地看她的脸,从眉骨看到颧骨,从颧骨看到下巴,最后落在嘴唇上,“嘴唇也不那么白了。”

    苏执垂下眼,把最后一瓣橘子放进嘴里,咽下去之后才说:“嗯,今天感觉好一些。”

    她说得很平淡,语气里没有劫后余生的庆幸,也没有久病初愈的感慨,就像在陈述一个天气一样的事实。但明灿听得出来,那句话说出口的时候,苏执的声音比前几天稳了很多,不再像风里的纸片那样轻飘飘的。

    明灿弯起眼睛笑了下,把空碗收进保温袋里,又把桌上的橘子皮收拾干净,拿湿巾把桌面擦了一遍,最后把水杯拿起来,重新接了半杯温水递过去。

    “姐姐,我今天做哪个模块?昨天你让我改的那几个bug我都改的差不多了。”

    “分布式锁。”苏执说,接过明灿递来的水杯,但没有喝,只是捧在手里,指腹摩挲着杯壁,“昨天你做的那个定时任务,在多实例部署的情况下会重复执行。”

    明灿眨了下眼睛,手里还捏着半瓣橘子,顿住了。

    她做的那个定时任务,是每天早上三点统计前一天的运营数据。在本地开发环境跑得好好的,但她心里清楚,苏执说的问题确实存在——如果生产环境部署了多个服务实例,每个实例都会在三点触发同一个任务,重复写入数据,轻则数据冗余,重则逻辑错乱。

    “所以需要分布式锁。”苏执把水杯放到床头柜上,伸手去够床头柜上的笔记本,明灿赶紧放下橘子,把电脑递过去。

    苏执把笔记本放在自己面前的小桌板上,指尖在触控板上点了几下,打开一个空白的编辑器,一边敲一边说:“方案有很多,数据库悲观锁、Redis的setnx、Zookeeper的临时顺序节点,你用哪个?”

    明灿凑过去看,苏执的手指在键盘上敲得很快,一行一行的基础代码出现在屏幕上,不是完整的实现,而是一个骨架——锁的接口定义、加锁解锁的基本流程、异常处理的框架。

    “Redis。”明灿说,语气里带着一点不确定,“用setnx,配合lua脚本保证原子性,设置过期时间避免死锁。”

    苏执停下来,侧过脸看了她一眼。那一眼很淡,但明灿觉得自己被从头到脚审视了一遍,像面试时被技术总监盯着等回答的那种感觉,心跳不由自主地加快了几拍。

    “继续。”苏执说。

    明灿深吸一口气,开始说:“加锁的时候用setnx,如果返回成功就拿到锁,同时设置一个过期时间比如三十秒。如果返回失败说明锁被其他实例占用,可以重试或者直接放弃。锁的持有者需要在业务逻辑执行完之后释放锁,删除对应的key。为了防止A线程的锁被B线程释放,value要用一个唯一标识,比如UUID或者线程ID,释放的时候先get再判断,匹配了才能del。”

    她说完,怯生生看着苏执。

    苏执没有立刻表态,低下头在键盘上又敲了几行,然后把屏幕转向明灿。

    屏幕上是一个完整的Redis分布式锁实现,用lua脚本把判断和删除两个操作合并成一个原子操作,避免了get和del之间的时间窗口。明灿一行一行地看,看到最后

-->>(本章未完,请点击下一页继续阅读)

【请收藏女巫文学,nw8.cc 努力为你分享更多好看的小说】

设置

字体样式
字体大小