Redis
安裝
brew install redis
運(yùn)行redis服務(wù)器
nohup redis-server &
進(jìn)入redis命令行
redis-cli 命令都是大小寫(xiě)不敏感 但是所有的約定大小寫(xiě)
命令可以接受任何數(shù)量的參數(shù)
數(shù)據(jù)結(jié)構(gòu)
將某些已知的數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)到內(nèi)存,通過(guò)簡(jiǎn)單的協(xié)議就能獲得到
Redis的對(duì)象模型大致就是一個(gè)大的扁平的JSON對(duì)象
- HEXISTS 命令 時(shí)間復(fù)雜度是O(1) 固定時(shí)間
- SMEMBERS 命令 時(shí)間復(fù)雜度是 O(n) 線(xiàn)性增長(zhǎng)
-
字符串
redis的字符串類(lèi)型 JavaScript中的Number String
SET online.users 0 GET online.users INCR online.users
-
哈希
哈希類(lèi)似子對(duì)象,不過(guò)和MongoDB不同的是,這些子對(duì)象只能局限于字符串形式的鍵和值 所有的值都可以存儲(chǔ)的是字符串
{ "name" : "finch" ,"last": "Rauch" ,"age": "21" }
所有的哈希存儲(chǔ),都需要一個(gè)用戶(hù)ID作為鍵的一部分來(lái)唯一確定存儲(chǔ)的值。Redis數(shù)據(jù)庫(kù)存儲(chǔ)的數(shù)據(jù)如下
{ "profile.1" : {"name": "finch", "last": "Rauch", "age": "21"} ,"profile.2" : {"name": "hello", "last": "world", "age" : "24"} }
哈希的基本命令是HSET HGETALL HDEL HEXISTS
-
列表
Redis的列表就等同于JS中的字符串?dāng)?shù)組
Redis中有兩個(gè)基本的操作命令是 RPUSH和 LPUSH 如何查詢(xún)所有的列表 LRANGE 返回一個(gè)在列表中指定范圍的元素,當(dāng)?shù)诙€(gè)參數(shù)為-1 表示返回所有列表中所有的值
-
數(shù)據(jù)集
set 表示 表示在 列表和哈希之間, 它擁有hast的屬性,都是唯一不重復(fù)的,數(shù)據(jù)集保存的是單個(gè)值, 沒(méi)有鍵
- SADD
- SMEMBERS
- SREM