譯文出處:http://blog.nosqlfan.com/html/1532.html
Redis的作者antirez(Salvatore Sanfilippo)同學最近發表了一篇名為Redis
宣言(Redis Manifesto)的文章,文中列舉了Redis 的七個原則,以向大家闡明Redis 的思想。本站翻譯如下:
- Redis 是一個操作資料結構的語言工具,它提供基於TCP的協議以操作豐富的資料結構。在Redis中,資料結構這個詞的意義不僅表示在某種資料結構上的操作,更包括了結構本身及這些操作的時間空間複雜度。
- Redis 定位於一個記憶體資料庫,正是由於記憶體的快速存取特性,才使得Redis能夠有如此高的效能,才使得Redis能夠輕鬆處理大量複雜的資料結構,Redis會嘗試其它的儲存方面的選擇,但是永遠不會改變它是一個記憶體資料庫的角色。
- Redis 使用基礎的API操作基礎的資料結構,Redis的API與資料結構一樣,都是一些最基礎的元素,你幾乎可以將任何資訊互動使用此API格式表示。作者調侃說,如果有其它非人類的智能生物存在,他們也能理解Redis的API。因為它是如此的基礎。
- Redis 有著詩一般優美的代碼,經常有一些不太瞭解Redis 原則的人會建議Redis採用一些其它人的代碼,以實現一些Redis 未實現的功能,但這對我們來說就像是非要給《紅樓夢》接上後四十回一樣。(作者此處用了莎士比亞的比喻)
- Redis 始終避免複雜化,我們認為設計一個系統的本質,就是與複雜化作戰。我們不會為了一個小功能而往源碼裡添加上千行代碼,解決複雜問題的方法就是讓複雜問題永遠不要提複雜的問題。
- Redis 支援兩個層成的API,第一個層麵包含部分操作API,但它支援用於分布式環境下的Redis。第二個層面的API支援更複雜的multi-key操作。它們各有所長,但是我們不會推出兩者都支援的API,但我們希望能夠提供執行個體間資料移轉的命令,並執行multi-key操作。
- 我們以最佳化代碼為樂,我們相信編碼是一件辛苦的工作,唯一對得起這辛苦的就是去享受它。如果我們在編碼中失去了樂趣,那最好的解決辦法就是停下來。我們決不會選擇讓Redis不好玩的開發模式。
原文連結:Redis Manifesto