HTTP請求報文和HTYTP
阿新 • • 發佈:2020-11-20
庫命令
select 1 # 切換到1號資料庫 dbsize # 檢視當前資料庫的資料數量 keys * # 檢視當前資料庫的所有key flushdb # 清空當前資料庫 flushall # 清空所有資料庫
String(字串)
set name liuyu # 存入一個key為name,值為liuyu的k-v資料 get name # 將返回這個key對應的value exits name # 判斷當前key是否存在,存在返回1 否則返回0 move name 1 # 移動這個k-v到指定資料庫 expire name 10 # 給k-v設定過期時間為10秒 ttl name # 檢視這個k-v的有效時間 type name # 檢視當前key的型別 append name "hh" # 在key對應的值後邊拼接字串,如果key不存在,則相當於set strlen name # 檢視這個key對應value的長度 set views 0 # 這裡設定一個整數 incr views # 自增1 decr views # 自減1 incrby views 5 # 自增5 decrby views 5 # 自減5 getrange name 1 2 # 返回指定下標範圍的值 getrange name 0 -1 # 返回整個值 setrange name 1 ab # 將下標為1的值替換為ab setex name1 10 "aaa" # 如果name1不存在則建立,如果存在則覆蓋,並設定10秒過期, 具有原子性。 setnx name2 bbb # 如果不存在這個key則建立成功並返回1,否則返回0 mset k1 v1 k2 v2 k3 v3 # 批量設定多個k-v mget k1 k2 k3 # 批量返回相應key對應的value msetnx k1 v1 k4 v4 # 批量不存在時設定,具有原子性,如此時k1存在但k4不存在,依舊設定失敗返回0 set user:1 {name:liuyu,age:10} # 設定一個物件 mset user:1:name liuyu user:1:age 10 # 效果同上 getset name ccc # 先get再set,不存在時返回nil,但set依舊生效,存在則覆蓋
List(列表)
lpush list one # 往list左側插入值 lrange list 0 -1 # 返回list中所有值 rpush list four # 往右側插入值 lpop list # 移除list左側元素,並返回該元素 rpop list # 移除list右側元素,並返回該元素 lindex list 0 # 獲取list中指定下標為0的值 llen list # 返回list的長度 lrem list 1 value # 移除list中指定個數的value值 ltrim list 1 2 # 截斷list,保留指定下標的值 rpoplpush list hello # 從list右側移除一個元素並返回,且將該元素插入list exists list # 判斷list是否存在,存在返回1,不存在返回0 lset list 0 hello # 修改列表指定位置的值,需要列表和該位置不為空,否則報錯 linsert list v1 before v0 # 往list列表的v0前邊插入v1 linsert list v1 after v2 # 往list列表的v2後邊插入v1
Set(集合)
無序且不重複。
應用:共同關注,二度好友(六度分割理論)
sadd myset "hello" # set集合中新增元素 smembers myset # 檢視指定set的所有值 sismember myset hello # 判斷某一個值是不是存在set集合中(如果存在,返回1,否則返回0) scard myset # 獲取set集合中的元素個數 srem myset "hello" # 移除set集合中的指定元素 srandmember myset # 隨機抽選出一個元素 spop myset # 隨機刪除一些set集合中的元素 smove myset myset2 "hello" # 將一個指定的值,移動到另一個set集合 sdiff key1 key2 # 求差集 sinter key1 key2 # 求交集(比如用於查詢共同好友) sunion key1 key2 # 求並集
Hash(雜湊)
應用:更適合物件的儲存,經常變動的資訊
hset myhash field1 liuyu # set一個具體的key-value hget myhash field1 # 獲取一個欄位值 hmset myhash field1 hello field2 world # set多個key-value hmget myhash field1 field2 # 獲取多個欄位值 hgetall myhash # 獲取全部資料(包括key) hdel myhash field1 # 刪除hash指定的key,對應的value也就沒有了 hlen myhash # 獲取hash表的欄位數量 hexists myhash field1 # 判斷hash中指定欄位是否存在 hkeys myhash # 只獲得所有field hvals myhash # 只獲得所有value hincrby myhash field3 1 # 指定增量 hsetnx myhash field4 hello # 如果存在則不能設定
Zset(有序集合)
應用:資料排序,排行榜,帶權重判斷
zadd myset 1 one # 新增一個值 zrange myset 0 -1 # 檢視集合元素 zrangebyscore myset -inf +inf #從小到大排序(-inf為無限小,+inf為無限大) zrevrange salary 0 -1 # 從大到小排序 zrem myset liuyu # 移除有序集合中的指定元素 zcard myset # 獲取有序集合中的個數 zcount myset 1 3 # 獲取指定區間的元素個數