Not Only SQL~02.Redis的常用命令和數據類型
本文是上一篇文章的後續,詳情點擊該鏈接~
Redis常用命令
ping | 測試 redis 是否鏈接 如果已鏈接返回 PONG |
echo value | 測試 redis 是否鏈接 如果已鏈接返回 echo 命令後給定的值 |
keys* | 返回所有的 key 可以加*通配 |
exists key | 判斷 string 類型一個 key 是否存在 如果存在返回 1 否則返回 0 |
expire key time(s) | 設置一個 key 的過期時間 單位秒。時間到達後會刪除 key 及 value |
ttl key | 查詢已設置過期時間的 key 的剩餘時間 如果返回-2 表示該鍵值對已經被刪除 |
persist | 移除給定 key 的過期時間 |
selectd bindex | 選擇數據庫(0-15) |
move key dbIndex | 將當前數據庫中的 key 轉移到其他數據庫中 |
dbsize | 返回當前數據庫中的 key 的數目 |
info | 獲取服務器的信息和統計 |
flushdb | 刪除當前選擇的數據庫中的 key |
flushall | 刪除所有數據庫中的所有 key |
quit | 退出連接 |
Redis 數據類型
然後我們現在可以開始操作了~
String(字符串)
Redis 字符串是字節序列。Redis 字符串是二進制安全的,這意味着他們有一個已知的長 度沒有任何特殊字符終止,所以你可以存儲任何東西,512 兆爲上限
get,set
set name的意思就是給name這個鍵賦予字符串值"alvin",然後get就是根據鍵獲取相應的值。
這些呢,都是字符串操作的最基本的命令,我們再看看其他常用命令還有哪些~
incr | 讓當前鍵值以 1 的數量遞增,並返回遞增後的值 |
incrby | 可以指定參數一次增加的數值,並返回遞增後的值 |
mget/mset | 作用與 get/set 相似,不過 mget/mset 可以同時獲得/設置多個鍵的鍵值 |
decr | 讓當前鍵值以 1 的數量遞減 並返回遞減後的值 |
decrby | 可以指定參數一次遞減的數值,並返回遞減後的值 |
incrbyfloat | 可以遞增一個雙精度浮點數 |
append | 作用是向鍵值的末尾追加 value。如果鍵不存在則將該鍵的值設置爲 value。返 回值是追加後字符串的總長度。 |
del | 根據 key 來刪除 value |
flushdb | 清除當前庫的所有數據 |
剛纔呢,我已經用表格把常用的字符串操作命令,給總結了一下。然後現在我們開始操作看看~
incr操作
incrby 操作
decr / decrby 操作
incrbyfloat操作
append操作
mget/mset 操作
del 和 flushdb 操作
Hash表
Redis 的哈希是鍵值對的集合。Redis 的哈希值是字符串字段和字符串值之間的映射, 因此它們被用來表示對象
hset | 存儲一個哈希鍵值對的集合 |
hget | 獲取一個哈希鍵的值 |
hmset | 存儲一個或多個哈希是鍵值對的集合 |
hmget | 獲取多個指定的鍵的值 |
hexists | 判斷哈希表中的字段名是否存在 如果存在返回 1 否則返回 0 |
hdel | 刪除一個或多個字段 |
hgetall | 存儲一個哈希鍵值對的集合 |
hset | 獲取一個哈希是鍵值對的集合 |
hvals | 只返回字段值 |
hkeys | 只返回字段名 |
hlen | 返回 key 的 hash 的元素個數 |
話不多說,直接實操
List(鏈表)
Redis 的鏈表是簡單的字符串列表,排序插入順序。您可以添加元素到 Redis 的列表的 頭部或尾部
lpush | key value 向鏈表左側添加 |
rpush | key value 向鏈表右側添加 |
lpop | key 從左邊移出一個元素 |
rpop | key 從右邊移出一個元素 |
llenkey | 返回鏈表中元素的個數 相當於關係型數據庫中 selectcount(*) |
lrange | 也支持負索引 lrangenn-2-1 如 -1 表示最右邊第一個元素 -2 表示最右邊第二 個元素,依次類推。 |
lrange key start end | lrange 命令將返回索引從 start 到 stop 之間的所有元素。Redis 的列 表起始索引爲 0。 |
lindex key indexnumber | 如果要將列表類型當做數組來用,lindex 命令是必不可少的。 lindex 命令用來返回指定索引的元素,索引從 0 開始 如果是負數表示從右邊開始計算的索引,最右邊元素的索引是-1。 |
Lset key indexnumber value | 是另一個通過索引操作列表的命令,它會將索引爲 index 的元素賦值爲 value。 |
話不多說,實操吧...
lpush / rpush / lrange 實操
lpop / rpop 實操
lindex / Lset 實操
sadd key value | 添加一個 string 元素到,key 對應的 set 集合中,成功返回 1,如果元素已經 在集合中返回 0 |
scard key | 返回 set 的元素個數,如果 set 是空或者 key 不存在返回 0 |
smembers key | 返回 key 對應 set 的所有元素,結果是無序的 |
sismember key value | 判斷 value 是否在 set 中,存在返回 1,0 表示不存在或者 key 不存 在 |
srem key value | 從 key 對應 set 中移除給定元素,成功返回 1,如果 value 在集合中不存 在或者 key 不存在返回 0 |
實操
SortedSet(有序集合)zset
Redis 的有序集合類似於 Redis 的集合,字符串不重複的集合。
zadd key score value | 將一個或多個 value 及其 socre 加入到 set 中 |
zrange key start end | 0 和-1 表示從索引爲 0 的元素到最後一個元素(同 LRANGE 命令相 似) |
zrange key 0-1 withscores | 也可以連同 score 一塊輸出,使用 WITHSCORES 參數 |
zremrangebyscore key start end | 可用於範圍刪除操作 |