1 回答

TA貢獻1828條經驗 獲得超13個贊
簡而言之,Redis是一種強大的key-value數據庫,之所以強大有兩點:響應速度快(所以數據內存存儲,只在必要時寫入磁盤),特性豐富(支持多種數據類型,以及各類型上的復雜操作)。
事實上,Redis的一個重要特性就是它并非通常意義上的數據庫,雖然稱之為數據庫是因為它可以為你存儲和維護數據,但它并不像關系數據庫那樣提供任何的SQL方言。不過不用擔心,Redis并不是吞噬數據的黑洞,它只是不支持SQL及相關功能,但卻提供了穩健的協議用于與之交互。
在Redis中,沒有數據表的概念,也無須關心select、join、view等操作或功能,同時也不提供類似于int或varchar的數據字段。你面對的將是相對原始的數據集合及數據類型。
探索之二:Available datatypes
下面我們深入看下這個奇怪的數據庫是如何工作的。如上所見,Redis是基于key-value范式存儲數據,所以先來重點看下"key"的概念。
key本質上就是簡單的字符串,諸如"username"、"password"等。在定義key時,除了不能使用空格,你可以隨意的使用普通的字符、數字等,像".",":","_"等在定義key時都能正常使用,所以像"user_name", "user:123:age", "user:123:username"都是不錯的key的定義方式。
不像RDBMS中的字段名稱,這里的key是Redis中的重要組成部分,所以我們必須在處理key時多加小心。在下面的講述中,Redis并沒有table的概念,所以像"SELECT username from users WHERE user_id=123;"這種簡單任務都只能換種方式實現,為了達到這種目的,在Redis上,一種方式是通過key "user:123:username"來獲取結果value。如你所見,key的定義中攜帶了神秘信息(像user ids)。在Redis中,key的重要性可見一斑。(其他key-value數據庫中key的地位也是如此。)
- 1 回答
- 0 關注
- 848 瀏覽
添加回答
舉報