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