NOSQL:數據類型

srting

  • 設置key及值,過期時間可以使用秒或毫秒爲單位
192.168.4.56:6356> set  x 9 ex 10 //單位秒
OK
192.168.4.56:6356> 
192.168.4.56:6356> set  y 29 px 10 //單位毫秒
OK
192.168.4.56:6356> 
192.168.4.56:6356> set  y 39 NX //不存在賦值
OK
192.168.4.56:6356> get y //變量值沒變
"39"
192.168.4.56:6356> 
192.168.4.56:6356> set  y 49 xx //變量存在賦值
OK
192.168.4.56:6356> get y //變量變了
"49"
  • 從偏移量開始複寫key的特定位的值
192.168.4.51:6351> set  first  "hello world"
OK
192.168.4.51:6351> setrange  first  6  "Redis"     //改寫爲hello Redis
(integer) 11
192.168.4.51:6351> get first
"hello Redis"
  • strlen key,統計字串長度
192.168.4.51:6379> strlen first
(integer) 11
  • append key value 存在則追加,不存在則創建key及value,返回key長度
192.168.4.51:6379> append myname jacob
(integer) 5
  • setbit key offset value 對key所存儲字串,設置或清除特定偏移量上的位(bit),value值可以爲1或0,offset爲0~2^32之間,key不存在,則創建新key
192.168.4.51:6379> setbit  bit  0  1    //設置bit第0位爲1
(integer) 0
192.168.4.51:6379> setbit  bit  1  0    //設置bit第1位爲0 
(integer) 0
  • bitcount key 統計字串中被設置爲1的比特位數量
192.168.4.51:6379> setbit  bits 0 1        //0001
(integer) 0
192.168.4.51:6379> setbit  bits 3 1        //1001
(integer) 0
192.168.4.51:6379> bitcount  bits          //結果爲2
(integer) 2
  • 記錄網站用戶上線頻率,如用戶A上線了多少天等類似的數據,如用戶在某天上線,則使用setbit,以用戶名爲key,將網站上線日爲offset,並在該offset上設置1,最後計算用戶總上線次數時,使用bitcount用戶名即可,這樣即使網站運行10年,每個用戶僅佔用10*365比特位即456字節
192.168.4.51:6379> setbit  peter  100  1     //網站上線100天用戶登錄了一次
(integer) 0
192.168.4.51:6379> setbit  peter  105  1     //網站上線105天用戶登錄了一次
(integer) 0
192.168.4.51:6379> bitcount  peter
(integer) 2
  • decr key 將key中的值減1,key不存在則先初始化爲0,再減1
192.168.4.51:6379> set z 10
OK
192.168.4.51:6379> decr z
(integer) 9
192.168.4.51:6379> decr z
(integer) 8
192.168.4.51:6379> decr bb
(integer) -1
192.168.4.51:6379> decr bb
(integer) -2
  • decrby key decrement 將key中的值,減去decrement
192.168.4.51:6379> set count 100
OK
192.168.4.50:6350>  DECRBY count 20 
(integer) 80
192.168.4.51:6379> DECRBY cc 20    //定義每次減少20(步長)
(integer) -20
192.168.4.51:6379> DECRBY cc 20
(integer) -40
  • getrange key start end 返回字串值中的子字串,截取範圍爲start和end,負數偏移量表示從末尾開始計數,-1表示最後一個字符,-2表示倒數第二個字符
192.168.4.51:6379> set x 123456789
OK
192.168.4.51:6379> getrange x -5 -1
"56789"
192.168.4.51:6379> getrange x 0 4
"12345"
  • incr key 將key的值加1,如果key不存在,則初始爲0後再加1,主要應用爲計數器
192.168.4.51:6379> set page 20
OK
192.168.4.51:6379> incr page
(integer) 21
  • incrby key increment 將key的值增加increment
192.168.4.50:6350> get a 
"10"
192.168.4.50:6350> incrby a 2
(integer) 12
192.168.4.50:6350> incrby a 2
(integer) 14
  • incrbyfloat key increment 爲key中所儲存的值加上浮點數增量 increment
192.168.4.50:6350> set num 10.1
OK
192.168.4.50:6350> incrby num 1
(error) ERR value is not an integer or out of range
192.168.4.50:6350> incrbyfloat num 1
"11.1"

list列表

  • lpush key value [value…] 將一個或多個值value插入到列表key的表頭,Key不存在,則創建key
192.168.4.51:6379> lpush list a b c  //list值依次爲c b a
(integer) 3
  • lrange key start stop 從開始位置讀取key的值到stop結束
192.168.4.51:6379> lrange list 0 2   //從0位開始,讀到2位爲止
1) "c"
2) "b"
3) "a"
192.168.4.51:6379> lrange list 0 -1  //從開始讀到結束爲止
1) "c"
2) "b"
3) "a"
192.168.4.51:6379> lrange list 0 -2  //從開始讀到倒數第2位值
1) "c"
2) "b"
  • lpop key 移除並返回列表頭元素數據,key不存在則返回nil
192.168.4.51:6379> lpop list         //刪除表頭元素,可以多次執行
"c"
192.168.4.51:6379>  LPOP list
"b"
  • llen key 返回列表key的長度
192.168.4.51:6379>  llen list
(integer) 1
  • lindex key index 返回列表中第index個值
192.168.4.51:6379> lindex  list  1
"c"
  • lset key index value 將key中index位置的值修改爲value
192.168.4.51:6379> lpush list a b c d 
(integer) 5
192.168.4.51:6379> lset list 3 test     //將list中第3個值修改爲test
OK
192.168.4.50:6350> lrange list 0 -1
1) "d"
2) "c"
3) "b"
4) "test"
  • rpush key value [value…] 將value插入到key的末尾
192.168.4.51:6379> rpush list3  a b c  //list3值爲a b c
(integer) 3
192.168.4.51:6379> rpush list3 d  //末尾插入d
(integer) 4
  • rpop key 刪除並返回key末尾的值
192.168.4.51:6379> RPOP list3 
"d"

hash表

  • hset key field value 將hash表中field值設置爲value
192.168.4.51:6379> hset site google 'www.g.cn'
(integer) 1
192.168.4.51:6379> hset site baidu 'www.baidu.com'
(integer) 1
  • hget key filed 獲取hash表中field的值
192.168.4.51:6379> hget site google
"www.g.cn"
  • hmset key field value [field value…] 同時給hash表中的多個field賦值
192.168.4.51:6379> hmset site google www.g.cn  baidu www.baidu.com
OK
  • hmget key field [field…] 返回hash表中多個field的值
192.168.4.51:6379> hmget site google baidu
1) "www.g.cn"
2) "www.baidu.com"
  • hkeys key 返回hash表中所有field名稱
192.168.4.51:6379> hmset site google www.g.cn baidu www.baidu.com
OK
192.168.4.51:6379> hkeys  site
1) "google"
2) "baidu"
  • hgetall key 返回hash表中所有key名和對應的值列表
192.168.4.51:6379> hgetall site
1) "google"
2) "www.g.cn"
3) "baidu"
4) "www.baidu.com"
  • hvals key 返回hash表中所有key的值
192.168.4.51:6379> hvals site
1) "www.g.cn"
2) "www.baidu.com"
  • hdel key field [field…] 刪除hash表中多個field的值,不存在則忽略
192.168.4.51:6379> hdel  site  google  baidu
(integer) 2
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章