字串型別是redis中最為基礎的資料儲存型別,該型別可以接受任何格式的資料,如jpeg影象資料或json物件描述資訊等。在redis中字串型別的value最多可以容納的資料長度是512m。
set key value // 設定鍵值
get key // value
setex key seconds value // 設定鍵值及過期時間
mset key1 value1 key2 value2 ... // 設定多個鍵值
mget key1 key2...
你可以用redis字串做許多有趣的事,例如你可以:
del k1 k2 // 刪除鍵及對應的值
keys * // 檢視所有key /keys k* (正則)
expire k1 100 // 設定過期時間
ttl k1 // 檢視有效時間.鍵不存在為-2,鍵永久時間為-1
exists k1 // 存在為1,不存在為0
type k1 // 檢視value的型別
hashes是字串欄位和字串值之間的對映,所以它們是完美的表示物件(eg:乙個有名,姓,年齡等屬性的使用者)的資料型別。
hash⽤於儲存物件,物件的結構為屬性、值(key field value)
值的型別為string
hset key field value
hmset key field value field2 value2 ...
hget key field
hmget key field field2 ...
hkeys key // 獲取key 所有field
hvals key // 獲取key 所有value
hdel key field field2 ...// 刪除key下的field及其對應的value
del key // 刪除鍵下所有的field及其對應的value
hlen key // 獲取鍵值對的個數
列表是簡單的字串列表,按照插入順序排序。 你可以新增乙個元素到列表的頭部(左邊)或者尾部(右邊)。(頭 l1 l2 … 尾)
lpush 命令插入乙個新元素到列表頭部,而rpush命令 插入乙個新元素到列表的尾部。當對乙個空key執行其中某個命令時,將會建立乙個新錶。
列表的元素型別為string
按照插⼊順序排序
lpush key v1 v2 ... // 將新元素插在頭部(頭 ... v2 v1 尾)
rpush key l1 l2 ... // 將新元素插在尾部(頭 ... v2 v1 l1 l2 ... 尾)
lpop key // 將第乙個元素刪除並丟擲
linsert key before/after l1 a1 // 將新元素插在l1之前/之後
lset key index value // 更新index對應的值
lrange key start stop // 遍歷list中的元素(從0開始,左右都包),stop為-1遍歷所有元素
lindex key index // 檢視index對應的值
lrem key count value // 從左往右刪除乙個或多個為value的值 (沒有rrem)
llen key // 檢視list長度
乙個列表最多可以包含232-1個元素(4294967295,每個表超過40億個元素)。
從時間複雜度的角度來看,redis列表主要的特性就是支援時間常數的插入和靠近頭尾部元素的刪除,即使是需要插入上百萬的條目。 訪問列表兩端的元素是非常快的,但如果你試著訪問乙個非常大的列表的中間元素仍然是十分慢的,因為那是乙個時間複雜度為 o(n) 的操作。
你可以用redis列表做許多有趣的事,例如你可以:
redis集合是乙個無序的字串合集。你可以以o(1) 的時間複雜度(無論集合中有多少元素時間複雜度都為常量)完成 新增,刪除以及測試元素是否存在的操作。
redis集合有著不允許相同成員存在的優秀特性。向集合中多次新增同一元素,在集合中最終只會存在乙個此元素。實際上這就意味著,在新增元素前,你並不需要事先進行檢驗此元素是否已經存在的操作。
乙個redis列表十分有趣的事是,它們支援一些服務端的命令從現有的集合出發去進行集合運算。 所以你可以在很短的時間內完成合併(union),求交(intersection), 找出不同元素的操作。
乙個集合最多可以包含232-1個元素(4294967295,每個集合超過40億個元素)。
⽆序集合
元素為string型別
元素具有唯⼀性,不重複
說明:對於集合沒有修改操作
sadd key member member2 ... // 新增元素
smembers key // 檢視所有元素
sismember key member // 檢視指定元素是否存在,1:存在,0:不存在
srem key memeber ... // 刪除元素
sinter key key2 ... // 返回key和key2中的交集元素
spop key count // 隨機刪除並丟擲count個元素(count省略時丟擲乙個元素)
srandmember key count // 隨機丟擲count個元素(不刪除該元素)
你可以用redis集合做很多有趣的事,例如你可以:
redis有序集合和redis集合類似,是不包含 相同字串的合集。它們的差別是,每個有序集合 的成員都關聯著乙個評分,這個評分用於把有序集 合中的成員按最低分到最高分排列。
使用有序集合,你可以非常快地(o(log(n)))完成新增,刪除和更新元素的操作。 因為元素是在插入時就排好序的,所以很快地通過評分(score)或者 位次(position)獲得乙個範圍的元素。 訪問有序集合的中間元素同樣也是非常快的,因此你可以使用有序集合作為乙個沒用重複成員的智慧型列表。 在這個列表中, 你可以輕易地訪問任何你需要的東西: 有序的元素,快速的存在性測試,快速訪問集合中間元素!
sorted set,有序集合
元素為string型別
元素具有唯⼀性,不重複
每個元素都會關聯⼀個double型別的score,表示權重,通過權重將元素從⼩到⼤排序
說明:沒有修改操作
zadd
zrange
zrangebyscore
zrem
zremrangebyscore
zscore
使用有序集合你可以: redis命令及jedis資料型別
redis命令 auth setdel expire設定過期時間 ttl 檢視剩餘秒數 exists key 判斷是否存在 persit 取消過期時間 redis 有 16個庫,預設的庫是0 select index 選擇庫 select 1 move key db 遷庫 rename key 重新...
Redis 常用資料型別及命令
string string是最常用的一種資料型別,普通的key value儲存都可以歸為此類,如get set 命令操作 如set命令格式 set key value hash 雜湊 redis hash 是乙個 string 型別的 field 和 value 的對映表 如hset命令格式hset...
redis 資料型別 命令
del key 用於在key存在時刪除key dump key 序列化給定key,並返回被序列化的值 exists key 檢查給定key是否存在 expire key seconds 為給定key設定過期時間 expireat key timestamp 與expire類似,不同的是該指令接受的時...