Redis操作 入門個人總結

2021-10-07 02:54:57 字數 3185 閱讀 3939

redis操作 入門個人總結

linux下先找到redis-cli客戶端

查詢find / -name redis-cli

redis入門新手總結(只適合新手入門,都是常用命令以及個人總結)

參考文件:

個別借鑑csdn、、各種大牛xinde

redis是一種支援key-value等多種資料結構的儲存系統,也是nosql(非關係型資料庫)。

它使用c語言編寫,支援string(字串),hash(雜湊雜湊),list(列表),set(無序集合) sorted set(有序集合)

基於記憶體,可持久化。

redis是基於記憶體儲存資料的,

如果redis出現宕機造成資料丟失,

可以通過redis.conf配置生成相關的日誌文件以及將資料在磁碟進行備份。

摘要:redis資料庫數量由redis.conf 配置databases=16//預設16

每個資料庫都有屬於自己的空間,不必擔心之間的key衝突。

keys(鍵)操作命令:

keys * 獲取所有鍵,也可以模糊搜尋

type key 獲取改鍵的型別

del key 刪除存在的key

move key db 移動當前資料庫key到給定的資料庫中

randomkey 從當前資料庫中隨機返回乙個 key

過期時間相關:

expre key 給key設定過期時間,秒計算

persist key 移除key的過期時間

tll key 以秒返回key剩餘時間(不過期返回-1)

string:對鍵值的獲取:

get key獲得鍵值

mget 獲取多個key值,空格分開

strlen key 獲取key值的長度

getrange key start end 可以擷取字串一部分 從0開始

hash:

注:hash其實就鍵值對,新手可以想象成陣列這樣先理解。

對鍵值的寫入:

hset key field value 可以同時設定該鍵多個鍵值對 感覺跟hmset才差不多,就不寫hmset了

hsetnx key field value

hdel key field1 刪除乙個或者多個hash key中的字段

hincrby key field increment 給hash欄位整數加上增量increment

hincrbyfloat key field increment 給hash欄位浮點數加上增量increment

對鍵值的獲取:

hget key field 獲取hash鍵值的字段值

hmget key field1 獲取多個hash鍵值的字段值

hgetall key 獲取hash鍵值的所有欄位和值

list:

redis列表是簡單的字串列表,按照插入順序排序。list是以左邊為起點,右邊為終點。

對鍵值的寫入:

lpush key value1 從左邊插入list ,沒有key會新增,返回該key總數

lpushx key value 從左邊插入乙個已存在的key,沒key會返回0

rpush key value1 從右邊插入list ,沒有key會新增,返回該key總數

rpushx key value 從左邊插入乙個已存在的key,沒有key會返回0

lpop key移出第乙個元素(最左邊)並返回移出的值

blpop key timeout移出第乙個元素,如果列表沒元素就會阻塞等到超時或者有元素進來

brpoplpush list destinationlist timeout

如果這時候redis客戶端掛了.那個資料就永遠丟失了.redis提供了一種備用機制. brpoplpush 這個命令會先把pop出來的資料.存到指定的list.然後再把傳遞給redis客戶端,多了一層保障

lrem key count value 按值去刪除list的count,count為0就是全部

lset key index value 通過索引設定列表元素的值

對鍵值的獲取:

lindex key index 通過索引獲取list的元素,從0開始

llen key 獲取list的長度

lrange key start end 獲取list的範圍 0,-1就是全部

set:

redis 的 set 是 string 型別的無序集合。集合成員是唯一的,這就意味著集合中不能出現重複的資料。

redis 中集合是通過雜湊表實現的,所以新增,刪除,查詢的複雜度都是 o(1)。

對鍵值的寫入:

sadd key value1 value2 向集合新增乙個或多個值

smove key2 key1 valuee 將value從key2移動到key1

sdiffstore key key1 key2 返回給定key1,key2集合的差集並儲存在key中

sinterstore key key1 key2 返回給定所有集合的交集並儲存的key中

spop key 移除並返回集合中的乙個隨機值

srem key value 移除集合中乙個或者多個值

對鍵值的獲取:

scard key 獲取集合的長度

sdiff key1 key2 獲取給定所有集合的差集

sinter key1 key2 獲取給定key1,key2集合的交集

sismember key value 判斷值是否在集合裡面

smembers key 獲取集合中所有的值

srandmember key count 獲取集合中乙個或多個隨機值

sunion key1 key2 獲取key1,key2的並集

sunionstore key key1 key2 將key1,key2的並集存在key中

sscan key sscan match * 迭代集合中的元素

sorted set:

redis 有序集合和集合一樣也是string型別元素的集合,且不允許重複的成員。

不同的是每個元素都會關聯乙個double型別的分數。redis正是通過分數來為集合中的成員進行從小到大的排序。

有序集合的成員是唯一的,但分數(score)卻可以重複。

Redis個人總結

redis介紹 什麼是redis?redis 與其他 key value 資料庫的對比 redis 能幹 麼 redis安裝與配置 redis的安裝配置 linux 版安裝 redis安裝 使用 tar 命令解壓檔案 進入 redis 5.0.4 目錄,執 make 編譯源 編譯後繼續執 make ...

Gulp入門個人總結

參考資料 一 安裝 前提條件 已安裝nodejs 所有 綠色帶下劃線均為指令 在命令列下操作 選裝cnpm 受國內網路影響,設在國外的npm伺服器在國內訪問有可能出現異常,所以可選 團隊構建的cnpm來代替npm指令。下文所有npm指令用cnpm代替,如果沒有安裝cnpm則把下文cnmp指令換成np...

Redis個人總結簡潔版

list hash setzset set expire原子性 如果setnx和expire中間出現意外打斷,造成expire沒有得到執行,那麼這個鎖將永遠得不到釋放 超時問題 可重入問題 上述的策略都是不支援可重入鎖的 redlock 普通演算法存在的問題 在主從結構中,如果某個執行緒a剛在主節點...