最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Redis 數(shù)據(jù)類型的詳解

 更新時(shí)間:2017年08月04日 11:14:33   投稿:lqh  
這篇文章主要介紹了Redis 數(shù)據(jù)類型的詳解的相關(guān)資料,支持五種數(shù)據(jù)類型,字符串,哈希,列表,集合及zset,需要的朋友可以參考下

Redis 數(shù)據(jù)類型的詳解

概要:

Redis支持五種數(shù)據(jù)類型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。

String(字符串)

string是redis最基本的類型,你可以理解成與Memcached一模一樣的類型,一個(gè)key對(duì)應(yīng)一個(gè)value。
string類型是二進(jìn)制安全的。意思是redis的string可以包含任何數(shù)據(jù)。比如jpg圖片或者序列化的對(duì)象 。
string類型是Redis最基本的數(shù)據(jù)類型,一個(gè)鍵最大能存儲(chǔ)512MB。

實(shí)例

redis 127.0.0.1:6379> SET name "runoob"
OK
redis 127.0.0.1:6379> GET name
"runoob"

在以上實(shí)例中我們使用了 Redis 的 SET 和 GET 命令。鍵為 name,對(duì)應(yīng)的值為 runoob。

注意:一個(gè)鍵最大能存儲(chǔ)512MB。

Hash(哈希)

Redis hash 是一個(gè)鍵名對(duì)集合。

Redis hash是一個(gè)string類型的field和value的映射表,hash特別適合用于存儲(chǔ)對(duì)象。

實(shí)例

127.0.0.1:6379> HMSET user:1 username runoob password runoob points 200
OK
127.0.0.1:6379> HGETALL user:1
1) "username"
2) "runoob"
3) "password"
4) "runoob"
5) "points"
6) "200"

以上實(shí)例中 hash 數(shù)據(jù)類型存儲(chǔ)了包含用戶腳本信息的用戶對(duì)象。 實(shí)例中我們使用了 Redis HMSET, HGETALL 命令,user:1 為鍵值。

每個(gè) hash 可以存儲(chǔ) 232 -1 鍵值對(duì)(40多億)。

List(列表)

Redis 列表是簡(jiǎn)單的字符串列表,按照插入順序排序。你可以添加一個(gè)元素到列表的頭部(左邊)或者尾部(右邊)。
實(shí)例

redis 127.0.0.1:6379> lpush runoob redis
(integer) 1
redis 127.0.0.1:6379> lpush runoob mongodb
(integer) 2
redis 127.0.0.1:6379> lpush runoob rabitmq
(integer) 3
redis 127.0.0.1:6379> lrange runoob 0 10
1) "rabitmq"
2) "mongodb"
3) "redis"
redis 127.0.0.1:6379>

列表最多可存儲(chǔ) 232 - 1 元素 (4294967295, 每個(gè)列表可存儲(chǔ)40多億)。

Set(集合)

Redis的Set是string類型的無序集合。

集合是通過哈希表實(shí)現(xiàn)的,所以添加,刪除,查找的復(fù)雜度都是O(1)。

sadd 命令

添加一個(gè)string元素到,key對(duì)應(yīng)的set集合中,成功返回1,如果元素已經(jīng)在集合中返回0,key對(duì)應(yīng)的set不存在返回錯(cuò)誤。

sadd key member

實(shí)例

redis 127.0.0.1:6379> sadd runoob redis
(integer) 1
redis 127.0.0.1:6379> sadd runoob mongodb
(integer) 1
redis 127.0.0.1:6379> sadd runoob rabitmq
(integer) 1
redis 127.0.0.1:6379> sadd runoob rabitmq
(integer) 0
redis 127.0.0.1:6379> smembers runoob

1) "rabitmq"
2) "mongodb"
3) "redis"

注意:以上實(shí)例中 rabitmq 添加了兩次,但根據(jù)集合內(nèi)元素的唯一性,第二次插入的元素將被忽略。

集合中最大的成員數(shù)為 232 - 1(4294967295, 每個(gè)集合可存儲(chǔ)40多億個(gè)成員)。

zset(sorted set:有序集合)

Redis zset 和 set 一樣也是string類型元素的集合,且不允許重復(fù)的成員。
不同的是每個(gè)元素都會(huì)關(guān)聯(lián)一個(gè)double類型的分?jǐn)?shù)。redis正是通過分?jǐn)?shù)來為集合中的成員進(jìn)行從小到大的排序。

zset的成員是唯一的,但分?jǐn)?shù)(score)卻可以重復(fù)。

zadd 命令

添加元素到集合,元素在集合中存在則更新對(duì)應(yīng)score

zadd key score member

實(shí)例

redis 127.0.0.1:6379> zadd runoob 0 redis
(integer) 1
redis 127.0.0.1:6379> zadd runoob 0 mongodb
(integer) 1
redis 127.0.0.1:6379> zadd runoob 0 rabitmq
(integer) 1
redis 127.0.0.1:6379> zadd runoob 0 rabitmq
(integer) 0
redis 127.0.0.1:6379> ZRANGEBYSCORE runoob 0 1000

1) "redis"
2) "mongodb"
3) "rabitmq"

以上就是Redis 數(shù)據(jù)類型的詳解,如有疑問請(qǐng)留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!

相關(guān)文章

  • Redis數(shù)據(jù)導(dǎo)入導(dǎo)出以及數(shù)據(jù)遷移的4種方法詳解

    Redis數(shù)據(jù)導(dǎo)入導(dǎo)出以及數(shù)據(jù)遷移的4種方法詳解

    這篇文章主要介紹了Redis數(shù)據(jù)導(dǎo)入導(dǎo)出以及數(shù)據(jù)遷移的4種方法詳解,需要的朋友可以參考下
    2020-02-02
  • Redis持久化方式之RDB和AOF的原理及優(yōu)缺點(diǎn)

    Redis持久化方式之RDB和AOF的原理及優(yōu)缺點(diǎn)

    在Redis中,數(shù)據(jù)可以分為兩類,即內(nèi)存數(shù)據(jù)和磁盤數(shù)據(jù),Redis?提供了兩種不同的持久化方式,其中?RDB?是快照備份機(jī)制,AOF?則是追加寫操作機(jī)制,本文將詳細(xì)給大家介紹Redis?持久化方式RDB和AOF的原理及優(yōu)缺點(diǎn),感興趣的同學(xué)可以跟著小編一起來學(xué)習(xí)
    2023-06-06
  • 基于Redis實(shí)現(xiàn)分布式單號(hào)及分布式ID(自定義規(guī)則生成)

    基于Redis實(shí)現(xiàn)分布式單號(hào)及分布式ID(自定義規(guī)則生成)

    一些業(yè)務(wù)背景下,業(yè)務(wù)要求單號(hào)需要有區(qū)分不同的前綴,那么在分布式的架構(gòu)下如何自定義單號(hào)而且還能保證唯一呢?本文就來詳細(xì)的介紹一下
    2021-09-09
  • dubbo服務(wù)使用redis注冊(cè)中心的系列異常解決

    dubbo服務(wù)使用redis注冊(cè)中心的系列異常解決

    這篇文章主要為大家介紹了dubbo服務(wù)在使用redis注冊(cè)中心遇到的一系列異常的解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2022-03-03
  • redis中如何做到內(nèi)存優(yōu)化

    redis中如何做到內(nèi)存優(yōu)化

    為了提高數(shù)據(jù)處理效率和降低存儲(chǔ)成本,優(yōu)化數(shù)據(jù)結(jié)構(gòu)和采用高效的存儲(chǔ)策略至關(guān)重要,使用最小存儲(chǔ)形式、整數(shù)編碼、Redis的HyperLogLog等方法可以有效減少內(nèi)存占用,Redis6引入的對(duì)象壓縮、設(shè)置合理的過期時(shí)間、數(shù)據(jù)分片
    2024-09-09
  • 關(guān)于Redis單線程的正確理解

    關(guān)于Redis單線程的正確理解

    很多同學(xué)對(duì)Redis的單線程和I/O多路復(fù)用技術(shù)并不是很了解,所以我用簡(jiǎn)單易懂的語言讓大家了解下Redis單線程和I/O多路復(fù)用技術(shù)的原理,對(duì)學(xué)好和運(yùn)用好Redis打下基礎(chǔ),感興趣的朋友跟隨小編一起看看吧
    2021-11-11
  • redis源碼分析教程之壓縮鏈表ziplist詳解

    redis源碼分析教程之壓縮鏈表ziplist詳解

    ziplist結(jié)構(gòu)在redis運(yùn)用非常廣泛,是列表、字典等數(shù)據(jù)類型的底層結(jié)構(gòu)之一。ziplist的優(yōu)點(diǎn)在于能夠一定程度地節(jié)約內(nèi)存。下面這篇文章主要給大家介紹了關(guān)于redis源碼分析教程之壓縮鏈表ziplist的相關(guān)資料,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-12-12
  • 解析Redis Cluster原理

    解析Redis Cluster原理

    redis最開始使用主從模式做集群,若master宕機(jī)需要手動(dòng)配置slave轉(zhuǎn)為master;后來為了高可用提出來哨兵模式,該模式下有一個(gè)哨兵監(jiān)視master和slave,若master宕機(jī)可自動(dòng)將slave轉(zhuǎn)為master,但它也有一個(gè)問題,就是不能動(dòng)態(tài)擴(kuò)充;所以在3.x提出cluster集群模式
    2021-06-06
  • Redis的字符串是如何實(shí)現(xiàn)的

    Redis的字符串是如何實(shí)現(xiàn)的

    本文主要介紹了Redis的字符串是如何實(shí)現(xiàn)的,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • 16個(gè)Redis的常見使用場(chǎng)景

    16個(gè)Redis的常見使用場(chǎng)景

    這篇文章主要介紹了Redis 常見使用場(chǎng)景的相關(guān)資料,需要的朋友可以參考下文
    2021-08-08

最新評(píng)論

荥阳市| 获嘉县| 阿克陶县| 茂名市| 丰县| 呼伦贝尔市| 亚东县| 凤庆县| 长汀县| 宁国市| 沂南县| 晋江市| 大埔区| 习水县| 万山特区| 梁河县| 达孜县| 禹州市| 婺源县| 东安县| 沽源县| 韩城市| 喜德县| 林口县| 肥乡县| 荣昌县| 运城市| 盐源县| 集贤县| 陇西县| 郯城县| 平塘县| 新宾| 肥东县| 宁陕县| 小金县| 湖口县| 丘北县| 阿拉尔市| 犍为县| 城市|