1. 程式人生 > >Redis 5種資料結構常用命令

Redis 5種資料結構常用命令

Redis支援五種資料結構的key-value,分別是string字串,linklist連結串列,set無序集合,order set有序集合,還有hash雜湊資料型別等

Redis字串String型別的操作:

1.   set key value [ex 秒數] / [px 毫秒數] [nx] /[xx]

注:ex和px不能同時使用

nx : 此引數指定set時key不存在時在成功執行操作

xx:此引數指定set時key存在時在成功執行操作

2. mset multi set , 一次性設定多個鍵值

mset key1 val1 key2 val2 .......

3.get key 獲取指定key的值

4.mget key1 key2 key3 獲取多個key的值

5.setrange key offset value 

把字串的offset偏移位元組,改成value,注意: 如果偏移量>字元長度, 該字元自動補0x00

6.append key value

往指定key的value中追加字串

7.getrange key start stop

        獲取字串中 [start, stop]範圍的值
注意: 對於字串的下標,左數從0開始,右數從-1開始
(),比如,當stop為-2時,即右邊倒數第二個字元

8.getset key newvalue

作用: 獲取並返回舊值,設定新值

9.incr key

自增key的值,並且此值必須是數字

10. decr key

自減key的值,並且此值必須是數字

11.incrby key value

在此值的基礎上加value。

12.decrby key value

在此值的基礎上減value

13.incrbyfloat key value

在此值的基礎上新增一個浮點值

Redis連結串列link結構的操作

1.lpush key value

插入連結串列頭部

2.rpush key value

插入連結串列尾部

3.lrange key start stop

獲取連結串列,從【start - stop】,start是從0開始算起,stop是從-1開始算起。

4.rpop key

從指定key的連結串列尾部取出value,並移除value。

5.lpop key

指定key的連結串列部取出value,並移除value。

·6.lrem key count value

刪除指定key的連結串列的指定的value,並且可以指定刪除個數

7.ltrim key start stop

裁剪,剪下key對應的連結,切[start,stop]一段,並把該段重新賦給key

8.lindex key index

通過索引獲取value

9.llen key

計算連結表的元素個數

10.linsert key after|before search value

  在key連結串列中尋找’search’,並在search值之前|之後,.插入value

  注: 一旦找到一個search後,命令就結束了,因此不會插入多個value  

 11.rpoplpush source dest

把source的尾部拿出,放在dest的頭部,並返回 該單元值

12.brpop ,blpop key timeout

等待彈出key的尾/頭元素, Timeout為等待超時時間,如果timeout為0,則一直等待   

為方便演示,開啟兩個終端,一個用於插入連結串列,一個用於等待取出連結串列

Redis集合set 相關命令

集合set的性質: 唯一性,無序性,確定性

1.sadd key value1 value2

往指定key的集合中新增元素

2.smembers key

查詢指定key的集合set的所有元素


3. srandmember key

隨機返回指定key集合的任意元素

4.spop key [count]

返回並刪除集合中key中count個隨機元素

5.srem value1 value2

刪除集合中集為 value1 value2的元素
返回值: 忽略不存在的元素後,真正刪除掉的元素的個數

6.sismember key value

判斷value是否在key集合中
是返回1,否返回0


7.scard key

查詢指定key集合元素的個數

8.smove source dest value

把source中的value刪除,並新增到dest集合中


9.sinter key1 key2 key3

獲取 集合key1 集合key2 集合key3三個集合的交集結果

10.suion key1 key2.. Keyn

獲取 集合key1 集合key2 集合key3三個集合的並集結果

11.sdiff key1 key2 key3

獲取 集合key1 集合key2 集合key3三個集合的差集結果

12.sinterstore dest key1 key2 key3

求出key1 key2 key3 三個集合中的交集,並賦給dest


Redis有序集合order set命令

1.zadd key score1 value1 score2 value2 ..

新增元素,score的值是作為排序的依據

2.zrank key member

查詢member的排名(升續 0名開始)


3.zrevrank key memeber

倒序排名

4.ZRANGE key start stop [WITHSCORES]

把集合排序後,按升序返回名次[start,stop]的元素,Withscores 是把score也打印出來

5.zrevrange key start stop

把集合排序後,按降序返回名次[start,stop]的元素,Withscores 是把score也打印出來


6.zrangebyscore key min max [withscores] limit offset N

集合(升續)排序後,取score在[min,max]內的元素,並跳過 offset個, 取出N個


7.zrem key value1 value2 ..

刪除集合中的元素

8.zremrangebyscore key min max

按照socre來刪除元素,刪除score在[min,max]之間的

9.zremrangebyrank key start end

按排名刪除元素,刪除名次在[start,end]之間的


10.zcard key

返回元素個數

11.zcount key min max

返回[min,max] 區間內元素的數量,此min和max值指的是score。


12.zinterstore destination numkeys key1 [key2 ...]   [WEIGHTS weight [weight ...]]   [AGGREGATE SUM|MIN|MAX]

求key1,key2的交集,key1,key2的權重分別是 weight1,weight2
聚合方法用: sum |min|max
聚合的結果,儲存在dest集合內


Hash 雜湊資料型別相關命令

1.hset key field value

把key中 filed域的值設為value,如果沒有field域,直接新增,如果有,則覆蓋原field域的值

2.hget key field

返回key中field域的值

3.hgetall key

返回key中,所有域與其值

4.hlen key

返回key中元素的數量

5.hmset key field1 value1 [field2 value2 field3 value3 ......fieldn valuen]

批量新增

6.hmget key field1 field2 fieldN

返回key中field1 field2 fieldN域的值


7.hdel key field

刪除key中 field域

8.hexists key field

判斷key中有沒有field域,存在返回1,否咋返回0


9.hinrby key field value

是把key中的field域的值增長整型值value

10. hinrbyfloat key field value

是把key中的field域的值增長浮點值value


11.hkeys key

返回key中所有的field

12.hvals key

返回key中所有的value


相關推薦

Redis 5資料結構常用命令

Redis支援五種資料結構的key-value,分別是string字串,linklist連結串列,set無序集合,order set有序集合,還有hash雜湊資料型別等 Redis字串String型別的操作: 1.   set key value [ex 秒數] / [px

Redis 5資料結構

轉載:https://baijiahao.baidu.com/s?id=1593806211408070879&wfr=spider&for=pc   Redis資料型別   Redis支援五種資料型別: (1) string(字串) st

Redis基礎與資料結構常用命令

Redis庫的操作 set key value 插入鍵值對 127.0.0.1:6379[2]> set name ls OK get key 返回指定key的value 127.0.0.1:6379[2

一口氣說出Redis 5資料結構及對應使用場景,面試要加分的

整理了一些Java方面的架構、面試資料(微服務、叢集、分散式、中介軟體等),有需要的小夥伴可以關注公眾號【程式設計師內點事】,無套路自行領取 更多優選 一口氣說出 9種 分散式ID生成方式,面試官有點懵了 3萬字總結,Mysql優化之精髓 為了不復制貼上,我被逼著學會了JAVA爬蟲 技術部突然宣佈:JA

redis之四 常用命令5資料結構

redis中文官網:string hash list set sortedset 一、基本操作 #獲取所有的key keys * #判斷一個鍵是否存在。存在則返回1,否則返回0 exists mykey #刪除鍵 del mykey #過期時間(單位:秒) #設定過期時間

Redis系列(二):Redis5資料結構及其常用命令

上一篇部落格,我們講解了什麼是Redis以及在Windows和Linux環境下安裝Redis的方法, 沒看過的同學可以點選以下連結檢視: Redis系列(一):Redis簡介及環境安裝。 本篇部落格我們來講解下Redis的5種資料結構及其常用命令,5種資料結構分別為: 字串String 列表List 集合S

Redis基本使用一(資料結構常用命令

開發工具: Redis3.2; IDEA; JDK11; Gradle4.8; 使用資料結構常用命令: 1.建立專案,開啟Redis服務端,匯入相關座標; 重要座標如下: implementation('org.springframework.boot

redis5資料結構和應用場景介紹

       在服務端為了減輕高併發下資料庫的訪問壓力,經常要應用快取。redis和memcached都可以作為快取系統使用,redis與memcached一樣,為了保證效率,資料都是快取在記憶體中,讀寫的效能差距不大。區別的是redis會週期性的把更新的資料寫入磁碟或者把修

Redis5資料結構的使用場景介紹

一、redis 資料結構使用場景 原來看過 redisbook 這本書,對 redis 的基本功能都已經熟悉了,從上週開始看 redis 的原始碼。目前目標是吃透 redis 的資料結構。我們都知道,在 redis 中一共有5種資料結構,那每種資料結構的使用場景都是什麼呢? String——字串 Ha

Redis資料結構常用命令

redis 通用API keys * 遍歷所有key 一般不在生產環境中使用 redis單執行緒,容易阻塞其他命令執行 O(n) dbsize 計算key的總數 O(1)exists 檢查key是否存在 O(1)del key 刪除指定key-value O(1)expire key seconds ke

Redis 實戰 —— 04. Redis 資料結構常用命令簡介

#### 字串 `P39` Redis 的字串是一個有位元組組成的序列,可以儲存以下 3 種類型的值:位元組串(byte string)、整數、浮點數。 在需要的時候, Redis 會將整數轉換成浮點數。整數的取值範圍和系統的長整型(long)的相同,浮點數取值範圍和精度與 IEEE 754 標準下的雙精

Redis 5資料型別——string字串

Redis支援五種資料型別:String(字串),Hash(雜湊),List(列表),Set(集合)及zset(sorted set:有序集合)。 String型別的資料(作為快取使用) 1.插入和讀取一條string型別的資料 redis notr

redis型別及常用命令

redis提供五種資料型別: string 字串型別 是二進位制安全的,可以儲存任何資料,包括圖片和序列號物件 set get setnx ttl setrange mset msetnx getset getrange

Redis的五資料結構及其常見命令

        Redis可以儲存鍵值與5種不同資料結構型別之間的對映。5種資料結構分別為字串(STRING)、連結串列(LIST)、無序列表(SET)、散列表(HASH)和有序列表(ZSET). 1.STRING(字串)    

redis資料型別和常用命令及適用場景

一.redis的5種資料型別: 1.基礎理解: string 字串(可以為整形、浮點型和字串,統稱為元素) list 列表(實現佇列,元素不唯一,先入先出原則) set 集合(各不相同的元素) hash hash雜湊值(hash的key必須是唯一的) sort set 有序集合 2.所有命令:http://

Redis 5主要資料型別和命令

redis是鍵值對的資料庫,有5中主要資料型別: 字串型別(string),雜湊型別(hash),列表型別(list),集合型別(set),有序集合型別(zset) 幾個基本的命令: KEYS * 獲得當前資料庫的所有鍵 EXISTS key [key ...]  判斷鍵是否存在,返回個數,如果key有一樣

7.redis5資料型別命令

set                  將字串值value設定到key中 get                  獲取key中設定的字串值 incr                 將key中儲存的數字+1,如果key不存在,將key的值初始化為0在+1 decr                將k

Redis常用資料結構

Redis是一個開源的使用ANSI C語言編寫、支援網路、可基於記憶體亦可持久化的日誌型、Key-Value資料庫,並提供多種語言的API。從2010年3月15日起,Redis的開發工作由VMware主持。從2013年5月開始,Redis的開發由Pivotal贊助。而且Red

redis常用5資料型別

本文重要介紹,redis的五種資料型別,以及各應用場景,文章主要來源https://www.cnblogs.com/dijia478/p/8058775.html。 字串string: 字串型別是Redis中最為基礎的資料儲存型別,是一個由位元組組成的序列,他在Red

Redis資料型別簡單操作命令

目前正在學習Redis,總覺得好記性不如爛筆頭,所以還是把課上學到得簡單得東西做一個筆記,這樣子便於以後學習。 首先安裝Redis。 由於官網上沒有Windows系統的Redis軟體,但是微軟一直在做這個Windows的Redis。下載地址:https://github.com/MSOp