国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Redis 五種基本數(shù)據(jù)結(jié)構(gòu)及基本使用

這篇具有很好參考價值的文章主要介紹了Redis 五種基本數(shù)據(jù)結(jié)構(gòu)及基本使用。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一、數(shù)據(jù)結(jié)構(gòu)

Redis 五種基本數(shù)據(jù)結(jié)構(gòu)及基本使用,redis,數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)庫

二、使用

2.1 String 的使用

Redis String 一個鍵對應(yīng)一個值,并且是二進(jìn)制安全的,值可以是圖片或者序列化后的對象。

一個鍵最大能存儲 512 MB。

2.1.1 set 命令的使用
  • set key value
    127.0.0.1:6379> set name yunhu
    OK
    127.0.0.1:6379> get name
    "yunhu"
    
  • 重復(fù)對同一個鍵設(shè)置值,導(dǎo)致覆蓋
    127.0.0.1:6379> set age 15
    OK
    127.0.0.1:6379> set age 20
    OK
    127.0.0.1:6379> get age
    "20"
    
    15 已經(jīng)被覆蓋了。
  • set key value nx
    • 當(dāng) key 不存在時,返回 OK 表示設(shè)置成功
      127.0.0.1:6379> get year
      (nil)
      127.0.0.1:6379> set year 2020 nx
      OK
      127.0.0.1:6379> get year
      "2020"
      
    • 當(dāng) key 存在時,設(shè)置失敗返回 nil 值。
      127.0.0.1:6379> get year
      "2020"
      127.0.0.1:6379> set year 1978 nx
      (nil)
      
  • set key value xx
    • 當(dāng) key 不存在時,放棄設(shè)置,返回空值
      127.0.0.1:6379> get age // age 這個鍵不存在
      (nil)
      127.0.0.1:6379> set age 18 xx
      (nil)
      
    • 當(dāng) key 存在時,可以設(shè)置。
      127.0.0.1:6379> set age 20
      OK
      127.0.0.1:6379> set age 18 xx
      OK
      127.0.0.1:6379> get age
      "18"
      
2.1.2 GETSET 命令的使用

GETSET 獲取舊值并設(shè)置新值。

127.0.0.1:6379> get age
"18"
127.0.0.1:6379> GETSET age 25 // 將 age 設(shè)為 25,并且返回舊的值 18
"18"
127.0.0.1:6379> get age // 獲取新的值
"25"

2.2 Hash 的使用

Redis Hash 是一個鍵值對集合,字符類型的 fieldvalue 組成的。

Hash 適合用來存儲對象。

每個 Hash 可以存儲 2 32 ? 1 2^{32}-1 232?1個鍵值對。

127.0.0.1:6379> HMSET student id 1 name "yunhu"
OK
127.0.0.1:6379> HGET student id
"1"
127.0.0.1:6379> HGET student name
"yunhu"

設(shè)置 Hash 名是 student,鍵為 id 的值是 1,鍵為 name 的值是 yunhu。

然后去獲取對應(yīng)鍵的值。

2.3 List 的使用

Redis List 就是字符串列表。

127.0.0.1:6379> DEL student
(integer) 1
127.0.0.1:6379> lpush student "yunhu" // 將 yunhu 插入 student 列表頭部
(integer) 1
127.0.0.1:6379> lpush student alice
(integer) 2
127.0.0.1:6379> lpush student bob
(integer) 3
127.0.0.1:6379> lrange student 0 -1 // 遍歷 student 中的元素
1) "bob"
2) "alice"
3) "yunhu"

列表可以存儲 Redis 五種基本數(shù)據(jù)結(jié)構(gòu)及基本使用,redis,數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)庫個元素。

2.4 set 的使用

Redis Set 是一個無序的集合,底層使用哈希表實現(xiàn),添加、刪除、搜索都為 O ( 1 ) O(1) O(1)

127.0.0.1:6379> DEL student
(integer) 1
127.0.0.1:6379> sadd student alice
(integer) 1
127.0.0.1:6379> sadd student bob
(integer) 1
127.0.0.1:6379> sadd student xiaoming
(integer) 1
127.0.0.1:6379> sadd student bob // 添加兩次 bob,但實際上只有一個。
(integer) 0
127.0.0.1:6379> smembers student // 返回集合中的所有的成員
1) "xiaoming"
2) "bob"
3) "alice"

2.5 zset 的使用

zset 與 set 一樣都是集合,但是 zset 每個元素關(guān)聯(lián)一個 double 類型的分?jǐn)?shù),通過這個分?jǐn)?shù)對集合進(jìn)行從小到大排序。分?jǐn)?shù)可以重復(fù)。文章來源地址http://www.zghlxwxcb.cn/news/detail-561978.html

127.0.0.1:6379> del student
(integer) 1
127.0.0.1:6379> zadd student 1 yunhu
(integer) 1
127.0.0.1:6379> zadd student 2 alice
(integer) 1
127.0.0.1:6379> zadd student 3 bob
(integer) 1
127.0.0.1:6379> zrangebyscore student 0 1000
1) "yunhu"
2) "alice"
3) "bob"
127.0.0.1:6379> zadd student 0 xiaoming
(integer) 1
127.0.0.1:6379> zrangebyscore student 0 1000
1) "xiaoming"
2) "yunhu"
3) "alice"
4) "bob"

到了這里,關(guān)于Redis 五種基本數(shù)據(jù)結(jié)構(gòu)及基本使用的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 【分享】Redis的五種基本數(shù)據(jù)類型和應(yīng)用場景

    【分享】Redis的五種基本數(shù)據(jù)類型和應(yīng)用場景

    Redis支持五種基本數(shù)據(jù)類型: String(字符串類型):可以是普通字符串,也可以是整數(shù)或浮點數(shù)值??梢栽O(shè)置過期時間;可以對字符串進(jìn)行append、get、set、incr、decr等操作。 Hash(哈希類型):類似于一個數(shù)組,其中每個元素都是一個field和value的鍵值對。可以對整個哈希表或

    2024年02月16日
    瀏覽(15)
  • redis的配置和使用、redis的數(shù)據(jù)結(jié)構(gòu)以及緩存遇見的常見問題

    redis的配置和使用、redis的數(shù)據(jù)結(jié)構(gòu)以及緩存遇見的常見問題

    目錄 1.緩存 2.redis不僅僅可以做緩存,只不過說他的大部分場景,是做緩存。本地緩存重啟后緩存里的東西就沒有了,但是redis有。 3.redis有幾個特性:查詢快,但是是放到內(nèi)存里的〈斷電或者重啟,數(shù)據(jù)就丟了),所以他有特定的持久化機(jī)制 4.服務(wù)器(centos)安裝redis 5.?redis在

    2024年02月14日
    瀏覽(35)
  • Redis常見數(shù)據(jù)結(jié)構(gòu)以及使用場景分別是什么

    ? String String數(shù)據(jù)結(jié)構(gòu)是簡單的key-value類型,value其實不僅可以是String,也可以是數(shù)字。 常規(guī)key-value緩存應(yīng)用; 常規(guī)計數(shù):微博數(shù),粉絲數(shù)等。 #Hash Hash 是一個 string 類型的 ?eld 和 value 的映射表,hash 特別適合用于存儲對象,后續(xù)操作的時候,你可以直接僅 僅修改這個對象中

    2024年01月23日
    瀏覽(35)
  • 2023-06-01:講一講Redis常見數(shù)據(jù)結(jié)構(gòu)以及使用場景。

    2023-06-01:講一講Redis常見數(shù)據(jù)結(jié)構(gòu)以及使用場景。

    2023-06-01:講一講Redis常見數(shù)據(jù)結(jié)構(gòu)以及使用場景。 答案2023-06-01: 字符串(String) 適合場景 緩存功能 Redis 作為緩存層,MySQL 作為存儲層,在大部分請求中,數(shù)據(jù)的讀取通常是從 Redis 中獲取。由于 Redis 具有支持高并發(fā)的特性,因此緩存層通常能夠加速讀寫操作,并減輕后端

    2024年02月07日
    瀏覽(26)
  • Redis支持的數(shù)據(jù)結(jié)構(gòu)有哪些?Redis使用單線程還是多線程?Redis的持久化機(jī)制有哪些?Redis的緩存淘汰策略有哪些?

    Redis支持的數(shù)據(jù)結(jié)構(gòu)包括: 字符串(string):存儲一個字符串。 列表(list):按照插入順序存儲多個字符串。 集合(set):存儲多個不重復(fù)的字符串。 有序集合(sorted set):存儲多個不重復(fù)的字符串,并為每個字符串關(guān)聯(lián)一個分?jǐn)?shù),可以根據(jù)分?jǐn)?shù)進(jìn)行排序。 哈希表(has

    2024年02月12日
    瀏覽(38)
  • Redis 常見的幾種數(shù)據(jù)結(jié)構(gòu)說一下?各自的使用場景?

    介紹:string 數(shù)據(jù)結(jié)構(gòu)是簡單的 key-value 類型。 使用場景: 一般常用在需要計數(shù)的場景,比如用戶的訪問次數(shù)、熱點文章的點贊轉(zhuǎn)發(fā)數(shù)量等等。 介紹:list 即是 鏈表 使用場景:發(fā)布與訂閱或者說消息隊列、慢查詢。 介紹:hash 類似于 JDK1.8 前的 HashMap,內(nèi)部實現(xiàn)也差不多(數(shù)組

    2024年01月24日
    瀏覽(26)
  • Redis學(xué)習(xí)路線(2)—— Redis的數(shù)據(jù)結(jié)構(gòu)

    一、Redis的數(shù)據(jù)結(jié)構(gòu) Redis是一個Key-Value的數(shù)據(jù)庫,key一般是String類型,不過Value的類型卻有很多: String: Hello World Hash: {name: \\\"jack\\\", age: 21} List: [A - B - C - C] Set: {A, B, C} SortedSet: {A: 1, B: 2, C: 3} GEO: {A: (120.3, 30.5)} BitMap: 0110110101110101011 HyperLog: 0110110101110101011 由于Redis對數(shù)據(jù)

    2024年02月15日
    瀏覽(26)
  • 【Redis】Redis中的數(shù)據(jù)結(jié)構(gòu)和內(nèi)部編碼

    【Redis】Redis中的數(shù)據(jù)結(jié)構(gòu)和內(nèi)部編碼

    type命令實際返回的就是當(dāng)前鍵的數(shù)據(jù)結(jié)構(gòu)類型,它們分別是:string(字符串)、list(列表)、hash(哈希)、set(集合)、zset(有序集合),但這些只是Redis對外的數(shù)據(jù)結(jié)構(gòu), 實際上Redis針對每種數(shù)據(jù)結(jié)構(gòu)都有??的底層內(nèi)部編碼實現(xiàn),?且是多種實現(xiàn),這樣Redis會在合適的

    2024年02月07日
    瀏覽(20)
  • redis1之安裝redis,啟動,常用數(shù)據(jù)結(jié)構(gòu)

    redis1之安裝redis,啟動,常用數(shù)據(jù)結(jié)構(gòu)

    ? 目錄 redis安裝與啟動、常見數(shù)據(jù)結(jié)構(gòu) 啟動 ?Redis客戶端 數(shù)據(jù)結(jié)構(gòu)與常見的命令 ?redis的通用命令 ?String類型的用法 Hash命令的用法 ?List命令 ?Set命令 ?SortedSet類型用法 1,在linux上安裝上gcc的依賴,我這里是centos7.6,gcc是4.5 我們在LInux上查看一下我們的系統(tǒng)信息 ?我這里安裝

    2024年02月06日
    瀏覽(56)
  • Redis底層數(shù)據(jù)結(jié)構(gòu)

    SDS全稱是Simple Dynamic String,具有如下顯著的特點: 常數(shù)復(fù)雜度獲取字符串長度:C語言獲取一個字符串的長度需要遍歷整個字符串時間復(fù)雜度為O(N),而SDS在屬性len中記錄了字符串長度,獲取字符串長度的時間復(fù)雜度為O(1)。 杜絕緩沖區(qū)溢出:C字符串在執(zhí)行拼接字符串時,如果

    2024年02月13日
    瀏覽(32)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包