前言

Chris Testa是我在圣莫尼卡Google分部工作时认识的一个朋友,我从2010年3月开始和他一起在加利福尼亚州贝弗利山的一间小创业公司工作,Chris是公司的领头和主管,而我则受聘于他成为了公司研究部门的架构师。

在对某个不相关的问题进行了一个下午的讨论之后,Chris向我推荐了Redis,他认为我这个理论计算机科学专业毕业的人应该会对这个数据库感兴趣。在使用Redis并按照自己的想法对Redis打补丁几个星期之后,我开始参与邮件列表里面的讨论,并向其他人提供建议或者补丁。

随着时间的推移,我将Redis广泛应用到了我们公司的各个项目里面:搜索、广告定向引擎、Twitter分析引擎以及一些将架构中的各个不同部分连接起来的小工具,所有这些项目都要求我学习更多关于Redis的知识。每当有其他Redis使用者在邮件列表里面提问的时候,我总会情不自禁地要给出我的建议(我最喜欢回答的是与职位搜索有关的问题,本书的7.4节对此进行了介绍),并因此成为了Redis邮件列表里面发言最积极的用户之一。

2011年9月下旬,当时我正在巴黎度蜜月,Manning出版社的策划编辑Michael Stephens给我打来了电话,但因为我的手机只能在美国使用,所以我未能接到Michael打来的电话。之后又由于手机固件bug的缘故,直到10月份的第2周,我才收到Michael发给我的短信。

当我终于收到短信并与Michael联系上的时候,我才知道Manning出版社打算出版一本《Redis实战》。在阅读了相关的邮件列表并且向人们咨询应该由谁来写这本书的时候,我的名字出现了。幸运的是,在我回电话的时候,Manning出版社仍在接受关于《Redis实战》一书的提案。

在对本书的提案进行了几个星期的讨论和数次修改之后(提案的内容主要来源于我平时在Redis邮件列表发表的帖子),Manning出版社接受了我的提案,然后我开始了本书的写作工作。转眼之间,现在已经是我和Michael首次交谈之后的第17个月了,《Redis实战》一书已经基本完成,只剩下一些收尾的工作了。我花费了一整年的所有夜晚和假日,通过编写这本书来帮助其他人理解和使用我认为最有趣的技术——它比我在20年前的圣诞节第一次坐在电脑前面以来所知道的大部分技术都要有趣。

虽然自己未能有足够的远见来亲自发明Redis是有点儿遗憾,不过至少现在我有机会为它写一本书了。