Redis 是一个用 ANSI C 写成,运行在 POSIX 环境中的键值数据库服务器,目前刚刚到达 1.2.0 版本。Redis 的特别之处在于,除了支持普通的字符串数据类型之外,还支持有序的 List 类型和无序的 Set 类型,因此 Redis 的作者 @antirez 也把他的作品称之为 data structure server,数据结构服务器。
Redis 的写入和读取性能相当不错,在一台主流配置的 1U Linux 服务器上,基本可以达到 11 万次每秒的写入和 8.1 万次的读取。能够取得这样的性能是因为 Redis 在运行时会把整个数据集都放在内存中进行操作,通过定时或不定时的方式将数据写到磁盘。所以,如果服务器硬件出现突发故障,比如内存或者内核的问题时,有一定的数据丢失的风险。
List 和 Set 这两个特殊的数据类型在某些场景下会非常有用,比如很多社区类型网站都会有的两个功能──当前谁在线可以用 List 实现,而好友列表则可以用 Set。把 Redis 的各种数据类型用好是一件很有想象力的事情。
作者 @antirez 不久前在 Twitter 上说,他为 Redis 想到的商业模式是出售商用工具,比如用于测试性能的 redis-load 和用于查看 Redis 各种内部数据的 redis-vmstat。至于为客户提供技术咨询,他觉得不可行,因为那会占用他太多宝贵的 coding 时间。
我在想,有一天我们能不能在 Google App Engine 的基础架构上看到类似 Redis 这样的简单数据库呢?很多时候,用 datastore 解决一些简单问题就像是杀鸡用牛刀,又慢又麻烦。
Published at 0:52 CST, JAN 21 • 1277+0 views
› Air Video
› 完全用 CSS 写成的 iOS 系统图标
› JustNotes
› 高速公路路标字体
› Anatomy of Apple Design
› SublimeVideo - HTML5 Video Player
› IO Programming Language

