Redis——02
前面了解了 Redis 以及在 Linux 的安裝,下面了解一些 Redis 常用的命令,
Redis 常用命令:
Redis 是 Key-Value 形式,Key 為字串型別,而 Value 的取值型別如下:
- String 字串
- Hash 哈希表
- List 串列
- Set 集合
- Sorted Set 有序 Set(ZSet)
Redis 命令相關手冊
預先設定一些值:
set smg1 "smg1"
set smg2 "smg2"
1. Key 操作
1.1 exists
作用:判斷 Key 是否存在
語法:exists key_name [key]
return:存在則回傳有查詢所到的個數,不存在則回傳 0,

1.2expire
作用:用于設定 key 的過期時間,key 過期后將不再可用,
語法:expire key_name time_seconds 單位是秒
return:成功回傳1,失敗回傳0

ttl key_name 查看指定 key 的剩余生存時間,單位是秒,
redis 2.8+:key 不存在回傳 -2,key 存在但是沒有設定剩余時間時,回傳 -1,
1.3 del
作用:洗掉指定的 key,可以是多個 key,
語法:del key_name [key]
return:回傳洗掉成功的個數
2. 字串值
2.1 set
作用:設定指定的 key 的值
語法:set key value
value 中如果沒有空格可以不用雙引號,如果有空格則需要雙引號,
return:成功 OK,
如果對一個 key 進行多次的 set,則會進行覆寫,
2.2 get
作用:根據指定的 key 查詢值,
語法:get key
return:查詢到的值,如果沒有則回傳 (nil),表示沒有查到,
2.3 setnx
作用:新增一個 key,只有在 key 不存在的時候做新增,如果 key 存在,則新增失敗,不會對其進行覆寫,
語法:setnx key value
return:成功回傳 1,失敗回傳 0,
2.4 setex
作用:新增一個 key,并且設定有效時長單位是秒,同時是可以覆寫已存在的 key 所對應的 value,同時也會覆寫有效時長,
語法:setex key seconds value
return:成功 OK,
2.5 mset
作用:批量設定 key,如果已存在則覆寫,沒有則新增
語法:mset key1 value1 ...keyN valueN
return:OK
2.6 mget
作用:批量查看 key
語法:mget key1 ...keyN
return:按照請求的 key 順序回傳
3. Hash
3.1 hset
作用:用于為哈希表中的欄位賦值,
語法:hset key field value
return:成功 OK,如果哈希表中域欄位(field)已經存在了 value 則會進行覆寫,回傳0,
3.2 hget
作用:用于回傳哈希表中指定欄位的值,
語法:hget key field
return:回傳給定欄位的值,如果給定的欄位或 key 不存在時,回傳 nil ,
3.3 hmset
作用:用于同時將多個 field-value (欄位-值)對設定到哈希表中,此命令會覆寫哈希表中已存在的欄位,如果哈希表不存在,會創建一個空哈希表,并執行 HMSET 操作,
語法:hmset key field1 value1 ...fieldN valueN
return:如果命令執行成功,回傳 OK ,
3.4 hmget
作用:用于回傳哈希表中,一個或多個給定欄位的值,
如果指定的欄位不存在于哈希表,那么回傳一個 nil 值,
語法:hmget key field1 ... fieldN
return:一個包含多個給定欄位關聯值的表,表值的排列順序和指定欄位的請求順序一樣,
3.5 hkeys
作用:用于回傳哈希表中,表的所有欄位名
語法:hkeys key
return:回傳該哈希表中所有的欄位名,當 key 不存在時,回傳一個空串列,
3.6 hvals
作用:命令回傳哈希表所有欄位的值
語法:hvals key
return:一個包含哈希表中所有值的表, 當 key 不存在時,回傳一個空表,
3.7 hgetall
作用:用于回傳哈希表中,所有的欄位和值,
語法:hgetall key
return:以串列形式回傳哈希表的欄位及欄位值, 若 key 不存在,回傳空串列,
3.8 hdel
作用:命令用于洗掉哈希表 key 中的一個或多個指定欄位,不存在的欄位將被忽略
語法:hdel key field1 ...field2
return:被成功洗掉欄位的數量,不包括被忽略的欄位,
如果所有的 field 都被洗掉,則這個哈希表則也會被洗掉,
也可以直接使用 del 命令洗掉整個哈希表,
3.9 flushall(全域)
作用:命令用于清空整個 Redis 服務器的資料(洗掉所有資料庫的所有 key ),
語法:flushall
return:總是回傳 OK,
4. 串列/鏈表 List
可重復,按序排列
4.1 rpush
作用:命令用于將一個或多個值插入到串列的尾部(最右邊),
如果串列不存在,一個空串列會被創建并執行 rpush 操作, 當串列存在但不是串列型別時,回傳一個錯誤,
語法:rpush key value1 ...valueN
return:執行 RPUSH 操作后,串列的長度,
4.2 lpush
作用:命令將一個或多個值插入到串列頭部, 如果 key 不存在,一個空串列會被創建并執行 lpush 操作, 當 key 存在但不是串列型別時,回傳一個錯誤,
語法:lpush key value1 ...valueN
return:執行 LPUSH 命令后,串列的長度,
4.3 llen
作用:用于回傳串列的長度, 如果串列 key 不存在,則 key 被解釋為一個空串列,回傳 0 , 如果 key 不是串列型別,回傳一個錯誤,
語法:llen key
return:串列的長度,
4.4 lrange
作用:回傳串列中指定區間內的元素,區間以偏移量 START 和 END 指定, 其中 0 表示串列的第一個元素, 1 表示串列的第二個元素,以此類推, 你也可以使用負數下標,以 -1 表示串列的最后一個元素, -2 表示串列的倒數第二個元素,以此類推,
語法:lrange key start end
return:一個串列,包含指定區間內的元素,
4.5 lrem
作用: 根據引數 COUNT 的值,移除串列中與引數 VALUE 相等的元素
count > 0:表示從表頭到表尾搜索并移除 count 個與 value 相等的元素,
count < 0:表示從表尾到表頭搜索并移除 count 個與 value 相等的元素,
count = 0:移除表中所有與 VALUE 相等的值,
語法:lrem key count value
return:被移除元素的數量, 串列不存在時回傳 0,
4.6 lindex
作用:命令用于通過索引獲取串列中的元素,你也可以使用負數下標,以 -1 表示串列的最后一個元素, -2 表示串列的倒數第二個元素,以此類推
語法:lindex key index_num
return:串列中下標為指定索引值的元素, 如果指定索引值不在串列的區間范圍內,回傳 nil ,
5. 集合 Set
跟 Java中的 set 一樣,元素不可以重復
5.1 sadd
5.2 smembers
5.3 scard
5.4 srem
6. 有序集合 Sorted Set
有序集合中每個 value 都有一個分數(score),根據分數進行排序,
每個值都要設定分數
6.1 zadd
6.2 zrange
6.3 zrem
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/540324.html
標籤:NoSQL
上一篇:幾種資料庫jar包獲取方式
