Redis基本介紹
Redis是一個性能極高的,遵循BSD協議的開源數據庫
Redis使用key value形式緩存數據,支持數據的持久化,而且,不僅可以支持簡單的key value類型數據,還提供了list,set,zset,hash等數據存儲結構
redis使用
str類型
添加/修改:
設置鍵值[O(1)]:set key value set name pp
設置鍵值及過期時間: setex key seconds value setex name 300 pp
設置多個鍵值[O(1)]: mset key1 value1 key2 value2 mset class1 python class2 java
追加值: append key value append class1 pythonNB (class1:pythonpythonNB)
獲取:
獲取單個值: get key get name
獲取多個值: mget key1 key2 mget class1 class2
刪除:
刪除值: del key1 key2 del class1 class2
hash類型
添加/修改:
設置單個屬性 hset key field value hset info name pp
設置多個屬性 hmset key field1 value1 field2 value2 hmset info name pp age 18
獲取:
獲取指定key對應的所有屬性 hkeys key hkeys info
獲取指定key對應的單一屬性 hget key field1 hget info name
獲取指定key對應的多個屬性 hmget key field1 field2 hmget info name age
獲取指定key對應的所有的value hvals key hvals info
刪除:
刪除整個key: del key del info
刪除key對應的某些屬性: hdel key field1 field2 del info name age
list類型
增加:
從左側插入value: lpush key value1 value2 lpush name ming uzi mlxg [mlxg,uzi,ming]
從右側插入value: rpush key value1 value2 rpush name ming uzi mlxg [ming,uzi,mlxg]
從指定元素的前/後插入value: linsert key before/after 現有value 新value linsert name before uzi xiaohu [ming,xiaohu,uzi,mlxg]
指定位置value替換 lset key index value lset name 2 kid [ming,xiaohu,kid,mlxg]
獲取:
獲取範圍內的value: lrange key start stop lrange name 0 -1
獲取指定位置的value lindex key index lindex name 1
刪除:
將列表中前count次出現的value值刪掉 lrem key count value lerm name 1 uzi
(ps:count > 0,從頭往尾刪。 count< 0,從尾到頭刪。 count = 0,全部刪除)
set類型
添加:
添加元素: sadd key member1 member2 sadd name uzi xiaohu
獲取:
獲取所有元素: smembers key smembers name
刪除:
刪除指定key srem key srem name
zset類型
添加:
zadd key score1 member1 score2 member2 zadd name 9 uzi 4 xiaohu
(ps:score爲權重,zset通過權重從小到大排序。zset具就有唯一性,不重複。沒有修改操作。)
獲取:
通過索引獲取:zrange key start stop zrange name 0 -1
通過權重獲取:zrangebyscore key min max zrangebyscore name 6 9
通過member獲取對應的score:zscore key member zscore name uzi
刪除:
刪除指定元素:zrem key member1 member2 zrem name uzi xiaohu
刪除指定權重範圍內的元素:zremrangebyscore key min max zremrangebyscore name 6 9
鍵命令
獲取所有鍵: keys *
獲取以a開頭的所有key:keys “a*” ( ’ '裏的可以使用正則規則 )
判斷key是否存在:exists key exists name
查看key對應的value的類型:type key type name
刪除key:del key del name
設置key的過期時間:expire key seconds expire name 200
查看key的有效時間:ttl key ttl name
key重命名:rename/renamenx oldkey newkey rename/renamenx name user
(rename:如果新的key存在則會覆蓋掉。renamenx:如果新的key已經存在則不會進行操作。)