redis數據庫的安裝使用

redis

一個開源,用鍵值對的儲存方式,查詢快
redis會把數據保存在“內存裏”裏,使用磁盤進行持久化
數據類型豐富:
    string:儲存任何數據(二進制),如數字、圖片、序列號對象
    hash:用於存儲對象(哈希表)
    list:列表的元素爲string;按照順序插入頭或者尾
    set:無序集合,類型也是String,唯一性,不重複
    zset:有序集合,string,唯一性,有權重,每個元素都會加一個score表示權重
reids可以將數據複製到任意從機中
原子性:客戶端可以併發訪問   也是單線程
他可以緩存消息隊列,網頁存儲的信息

安裝

windows:
https://github.com/microsoftarchive/redis/releases/tag/win-3.2.100

linux:
sudo apt install redis-server

默認端口號:6379

進入數據庫

select 0 #默認0,這裏數據庫可以用數字表示,作爲編號,
#一般redis不接受自定義數據庫名,他默認有16個
#由於不接收數據庫名,所以那些庫存了哪些數據就需要自己記住了
select + 編號可以直接進入某個數據編號庫

所有數據類型都可以的命令

keys *  #顯示所有的鍵值
這個就顯示所有的鍵值,不區分數據類型,例如string就輸出鍵,list就輸了列表名,set就輸出集合名

del key  #刪除某個鍵
#也適合於所有的數據類型,對於list,push,set等他們的表名,集合名就是他們的鍵(key)

設置鍵值、插入

設置鍵值,也可認爲是插入,有就是列表插入或者鍵值更新,沒有就是創建在插入

 以下key表示鍵,value表示值,[]表示內容可以選  
 time表示時間單位秒,listName表示列名,tableName表示表名,setName無序集合名,其他就是關鍵字:
 
 string:set key value     
         mset key value [key value....]  #設置多個
         string可以設置過期時間:
         setex key time(s) value或者set key value ex time
         如果值已經存在,需設置時間:expire key time
 
 hash:hset tabelName key value      
     hmset table key value [key value ...]   #插入多條

  list:頭部插入lpush listName value [value ...]  這裏例如 lpush list1 1 2 3 ,然後你查看數據的時候會顯示3,2,1,從頭部一個一個插入,後插入的在前
      尾部插入rpush listName value [value ...] 這裏怎麼插入怎麼排
     指定元素插入:linsert listName before|after 某個值  value
     修改指定值:lset listName index value
 set:sadd setName value [value ...]
 zset:zadd zaddName score value [score value ....] #score表示權重根據這個排序

查詢

 string:get keyName
         mget keyName1 keyName2 .... #獲取多個鍵的值
         模糊查詢: keys patter    #可用*(任意字符),?(單個字符),[](裏面的一個)
         存在與否:exists keyName   #存在1 不存在0
         查看有效時間,ttl keyName
         查看鍵值類型:type keyName
         獲取長度:strlen keyName
 
 hash:hget tableName key  查詢單個值
     hmget table key1 key2 ... #查詢多個值
     獲取所有屬性:hkeys tableName
     獲取所有值:hvals tableName
     獲取所有屬性和值 hgetall tableName
     獲取鍵值對個數 :hlen tableName
     判斷存在與否:hexists tableName key 存在返回1
     
  list:lrange listName start end #獲取指定範圍的元素,可以爲負數
     裁剪並修改原數組:ltrim listName start end  
     獲取長度:llen listName
     根據所有獲取對應的值:lindex listName index
     
 set:獲取所有元素:smembers setName
     獲取長度:scard listName
     判斷元素是否存在:sismember listName value
 zset:獲取指定範圍的元素:zrange zsetName start end 
         獲取元素個數:zcard zsetNaem
         查找權重範圍內的元素個數:zcount zsetName minScore maxScore
         查詢指定元素的權重:zscore zsetName value

刪除元素

string:del keyName #因爲字符串裏只有一個元素所以刪全部就可以了

hash: hdel tableName key #刪除某個屬性和值,刪除全全部del就就可以了

list:lpop listName #刪除第一個,並且作爲返回值返回
      rpop listName #刪除第一個,並且作爲返回值返回
set:srem setName value #刪除這個元素

zset:zrem zsetName value #刪除這個元素

運算

string:對於數字類型數據可進行如下操作:
        incr key  #鍵所對於的值加一
        decr ke  #鍵所對於的值減一
        incrby key num #鍵所對於的值加num數值
        decrby key num #鍵所對於的值減num數值
        append key str #字符串追加,往key的值里加str是字符串,
        #就算數純數字也是追加 如18 追加 "5" 變爲"185" 但是它任然可以進行incr decr運算

set:交集:sinter setName1 [setName2 ...]
    差集:sdiff setName1 [setName2 ...]
    合集:sunion setName1 [setName2 ...]

zset:zrem zsetName value #刪除這個元素
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章