keys * 查看當前庫所有key名稱。
exists key 判斷某個key是否存在。存在返回1,不存在返回0。
move key db 把當前庫某個key移到指定庫。
expire key second 爲指定的key設置過時時間,單位爲秒。
ttl key 查看指定key還有多少秒過時,-1表示永不過時,-2表示已過時(若是過時該key會被移出庫)。
type key 查看你的key是什麼數據類型。
del [key...] 刪除指定key,可同時刪除多個。html
string類型是redis最基本的數據類型,redis中一個字符串value最多能夠是512M。
string類型是二進制安全的。意思是redis的string能夠包含任何數據。好比jpg圖片或者序列化的對象。java
set 設置一個key-value。
get 獲取一個key的value。
del 刪除一個或多個key-value。
append 對指定key的value追加值。
strlen 獲取指定key的value的長度。
incr 對指定key的value每次加1。 必定要是數字才能進行加減。
decr 對指定key的value每次減1。 必定要是數字才能進行加減。
incrby 對指定key的value每次加n(數量可指定)。 必定要是數字才能進行加減。
decrby 對指定key的value每次減n(數量可指定)。 必定要是數字才能進行加減。
getrange 獲取指定key的value的指定區間範圍內的值,相似於java的substring。
setrange 設置指定key的value的指定區間範圍內的值,原區間範圍的值會被覆蓋。
setex(set with expire) 設置一個key-value並指定該key的過時時間(秒)。
setnx(set if not exist) 設置一個key-value,若是該key存在則不設置,若是不存在則設置。
mset 設置一個或多個key-value。
msetnx 設置一個或多個key-value,若是key都不存在則設置,若是其中有一個key存在則不設置。
mget 獲取一個或多個key的value。
getset 獲取一個key(key必須存在)並設置該key的值,返回原來的值。redis
redis hash 是一個鍵值對集合。redis hash 是一個string類型的field和value的映射表,hash特別適合用於存儲對象。安全
相似Java裏面的Map<String,Object>。KV模式不變,但V是一個鍵值對。app
hset 添加一個hash集合並往裏面添加一對KV。
hget 獲取hash集合某個Key的數據。
hmset 添加一個hash集合並往裏面添加N對KV。
hmget 獲取hash集合N個Key的數據。
hgetall 獲取hash集合所有的KV數據。
hdel 移除hash集合中的N個Key。
hlen 獲取hash集合中Key的數量。
hexists 判斷hash集合中某個Key是否存在。
hkeys 獲取hash集合所有Key。
hvals 獲取hash集合所有Value。
hincreby 給hash集合中的某個key加N。 必定要是數字才能加,加整數。
hincrebyfloat 給hash集合中的某個key加N。 必定要是數字才能加,加整數或小數。
hsetnx 添加一個hash集合並往裏面添加一對KV(若是key不存在則添加,存在則不添加)。大數據
redis list 列表是簡單的字符串列表,按照插入順序排序。你能夠添加一個元素到列表的頭部(左邊)或者尾部(右邊)。它的底層實際是個鏈表。spa
說明:l(left)、r(right),將結構理解爲棧,l表示棧頂、r棧底。
lpush 添加一個list列表,將一個或多個值插入到列表頭部,先進後出。
rpush 添加一個list列表,將一個或多個值插入到列表尾部,先進先出。
lrange 獲取list列表指定區間範圍內的值。
lpop 移除list列表頂部元素(第一個元素),並返回被移除的元素。
rpop 移除list列表底部元素(最後一個元素),並返回被移除的元素。
lindex 按照頂部索引下標得到元素。
llen 獲取list列表的長度。
lrem 移除list列表N個value。(lrem key count value)。
ltrim 截取list列表指定範圍內的值後再賦值給list列表(原值將被截取值覆蓋)。
rpoplpush 將指定列表的底部元素移到目標列表的頂部。
lset 設置列表指定下標的值。
linsert 在指定列表的某個元素前面或後面添加元素。(linsert key before/after 列表中的元素 添加的元素)。.net
list列表總結:
它是一個字符串鏈表,left、right均可以添加。
若是鍵不存在,建立新的鏈表。
若是鍵已存在,新增內容。
若是值全移除,對應的鍵也就消失了。
鏈表的操做不管是頭和尾效率都極高,但假如是對中間元素進行操做,效率就比較低了。htm
redis set是string類型的無序集合。它是經過HashTable實現的。對象
sadd 將一個或多個成員插入到set集合中。
smembers 遍歷set集合。
sismember 判斷指定元素是不是set集合的成員。
scard 獲取set集合中元素的個數。
srem 移除set集合中N個元素。
srandmember 隨機獲取set集合中N個元素。
spop 隨機移除set集合中N個元素並返回被移除的元素。
smove 將指定集合中的某個元素移到目標集合中。
sdiff 集合的減集。
sinter 集合的交集。
sunion 集合的並集。
redis zset 和 set 同樣也是string類型元素的集合,且不容許重複的成員。不一樣的是每一個元素都會關聯一個double類型的分數。
redis正是經過分數來爲集合中的成員進行從小到大的排序。zset的成員是惟一的,但分數(score)卻能夠重複。
zadd 將一個或多個成員插入到zset集合中。(zadd key 分數 值...)例如:[zadd zset1 80 zhangsan]。
zrange 獲取zset集合指定區間範圍內的值(zrange key start stop [withscores])。加withscores可查看分數與值
zrangebyscore 獲取zset集合指定分數範圍內的值(zrangebyscore key [(]min [(]max [limit offset count]),「(」表示不包含。
zrem 移除zset集合中N個元素。
zcard 獲取zset集合中元素的個數(不包含分數,分數和元素是一體的)。
zcount 獲取zset集合指定分數範圍內的個數。
zrank 獲取zset集合某個元素的下標。
zscore 獲取zset集合某個元素對應的分數。
zrevrank 逆序獲取zset集合某個元素的下標。
zrevrange 逆序獲取zset集合指定區間範圍內的值。
zrevrangebyscore 逆序獲取zset集合指定分數範圍內的值。