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

Redis常用數(shù)據(jù)類型和使用場景

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

Redis常用數(shù)據(jù)類型和使用場景,redisRedis目前支持5種數(shù)據(jù)類型,分別是:

?

?

String(字符串)

List(列表)

Hash(字典)

Set(集合)

Sorted Set(有序集合)

下面就分別介紹這五種數(shù)據(jù)類型及其相應(yīng)的操作命令。

?

1. String(字符串)

String是簡單的 key-value 鍵值對,value 不僅可以是 String,也可以是數(shù)字。String在redis內(nèi)部存儲默認就是一個字符串,被redisObject所引用,當(dāng)遇到incr,decr等操作時會轉(zhuǎn)成數(shù)值型進行計算,此時redisObject的encoding字段為int。

?

String在redis內(nèi)部存儲默認就是一個字符串,被redisObject所引用,當(dāng)遇到incr,decr等操作時會轉(zhuǎn)成數(shù)值型進行計算,此時redisObject的encoding字段為int。

?

應(yīng)用場景

String是最常用的一種數(shù)據(jù)類型,普通的key/value存儲都可以歸為此類,這里就不所做解釋了。

?

相關(guān)命令

SET key value 設(shè)置key=value

GET key 或者鍵key對應(yīng)的值

GETRANGE key start end 得到字符串的子字符串存放在一個鍵

GETSET key value 設(shè)置鍵的字符串值,并返回舊值

GETBIT key offset 返回存儲在鍵位值的字符串值的偏移

MGET key1 [key2..] 得到所有的給定鍵的值

SETBIT key offset value 設(shè)置或清除該位在存儲在鍵的字符串值偏移

SETEX key seconds value 鍵到期時設(shè)置值

SETNX key value 設(shè)置鍵的值,只有當(dāng)該鍵不存在

SETRANGE key offset value 覆蓋字符串的一部分從指定鍵的偏移

STRLEN key 得到存儲在鍵的值的長度

MSET key value [key value...] 設(shè)置多個鍵和多個值

MSETNX key value [key value...] 設(shè)置多個鍵多個值,只有在當(dāng)沒有按鍵的存在時

PSETEX key milliseconds value 設(shè)置鍵的毫秒值和到期時間

INCR key 增加鍵的整數(shù)值一次

INCRBY key increment 由給定的數(shù)量遞增鍵的整數(shù)值

INCRBYFLOAT key increment 由給定的數(shù)量遞增鍵的浮點值

DECR key 遞減鍵一次的整數(shù)值

DECRBY key decrement 由給定數(shù)目遞減鍵的整數(shù)值

APPEND key value 追加值到一個鍵

其中用于操作管理鍵的命令有:

?

DEL key 如果存在刪除鍵

DUMP key 返回存儲在指定鍵的值的序列化版本

EXISTS key 此命令檢查該鍵是否存在

EXPIRE key seconds 指定鍵的過期時間

EXPIREAT key timestamp 指定的鍵過期時間。在這里,時間是在Unix時間戳格式

PEXPIRE key milliseconds 設(shè)置鍵以毫秒為單位到期

PEXPIREAT key milliseconds-timestamp 設(shè)置鍵在Unix時間戳指定為毫秒到期

KEYS pattern 查找與指定模式匹配的所有鍵

MOVE key db 移動鍵到另一個數(shù)據(jù)庫

PERSIST key 移除過期的鍵

PTTL key 以毫秒為單位獲取剩余時間的到期鍵。

TTL key 獲取鍵到期的剩余時間。

RANDOMKEY 從Redis返回隨機鍵

RENAME key newkey 更改鍵的名稱

RENAMENX key newkey 重命名鍵,如果新的鍵不存在

TYPE key 返回存儲在鍵的數(shù)據(jù)類型的值。

使用示例

redis 127.0.0.1:6379> set baidu http://www.baidu

OK

redis 127.0.0.1:6379> append baidu .com

(integer) 20

redis 127.0.0.1:6379> get baidu

"http://www.baidu.com"

redis 127.0.0.1:6379> set visitors 0

OK

redis 127.0.0.1:6379> incr visitors

(integer) 1

redis 127.0.0.1:6379> incr visitors

(integer) 2

redis 127.0.0.1:6379> get visitors

"2"

redis 127.0.0.1:6379> incrby visitors 100

(integer) 102

redis 127.0.0.1:6379> get visitors

"102"

redis 127.0.0.1:6379> type baidu

string

redis 127.0.0.1:6379> type visitors

string

redis 127.0.0.1:6379> ttl baidu

(integer) -1

redis 127.0.0.1:6379> rename baidu baidu-site

OK

redis 127.0.0.1:6379> get baidu

(nil)

redis 127.0.0.1:6379> get baidu-site

"http://www.baidu.com"

2. List(列表)

Redis列表是簡單的字符串列表,可以類比到C++中的std::list,簡單的說就是一個鏈表或者說是一個隊列??梢詮念^部或尾部向Redis列表添加元素。列表的最大長度為2^32 - 1,也即每個列表支持超過40億個元素。

?

Redis list的實現(xiàn)為一個雙向鏈表,即可以支持反向查找和遍歷,更方便操作,不過帶來了部分額外的內(nèi)存開銷,Redis內(nèi)部的很多實現(xiàn),包括發(fā)送緩沖隊列等也都是用的這個數(shù)據(jù)結(jié)構(gòu)。

?

應(yīng)用場景

Redis list的應(yīng)用場景非常多,也是Redis最重要的數(shù)據(jù)結(jié)構(gòu)之一,比如twitter的關(guān)注列表、粉絲列表等都可以用Redis的list結(jié)構(gòu)來實現(xiàn),再比如有的應(yīng)用使用Redis的list類型實現(xiàn)一個簡單的輕量級消息隊列,生產(chǎn)者push,消費者pop/bpop。

?

相關(guān)命令

BLPOP

BLPOP key1 [key2 ] timeout 取出并獲取列表中的第一個元素,或阻塞,直到有可用

BRPOP

BRPOP key1 [key2 ] timeout 取出并獲取列表中的最后一個元素,或阻塞,直到有可用

BRPOPLPUSH

BRPOPLPUSH source destination timeout 從列表中彈出一個值,它推到另一個列表并返回它;或阻塞,直到有可用

LINDEX

LINDEX key index 從一個列表其索引獲取對應(yīng)的元素

LINSERT

LINSERT key BEFORE|AFTER pivot value 在列表中的其他元素之后或之前插入一個元素

LLEN

LLEN key 獲取列表的長度

LPOP

LPOP key 獲取并取出列表中的第一個元素

LPUSH

LPUSH key value1 [value2] 在前面加上一個或多個值的列表

LPUSHX

LPUSHX key value 在前面加上一個值列表,僅當(dāng)列表中存在

LRANGE

LRANGE key start stop 從一個列表獲取各種元素

LREM

LREM key count value 從列表中刪除元素

LSET

LSET key index value 在列表中的索引設(shè)置一個元素的值

LTRIM

LTRIM key start stop 修剪列表到指定的范圍內(nèi)

RPOP

RPOP key 取出并獲取列表中的最后一個元素

RPOPLPUSH

RPOPLPUSH source destination 刪除最后一個元素的列表,將其附加到另一個列表并返回它

RPUSH

RPUSH key value1 [value2] 添加一個或多個值到列表

RPUSHX

RPUSHX key value 添加一個值列表,僅當(dāng)列表中存在

使用示例

redis 127.0.0.1:6379> lpush list1 redis

(integer) 1

redis 127.0.0.1:6379> lpush list1 hello

(integer) 2

redis 127.0.0.1:6379> rpush list1 world

(integer) 3

redis 127.0.0.1:6379> llen list1

(integer) 3

redis 127.0.0.1:6379> lrange list1 0 3

1) "hello"

2) "redis"

3) "world"

redis 127.0.0.1:6379> lpop list1

"hello"

redis 127.0.0.1:6379> rpop list1

"world"

redis 127.0.0.1:6379> lrange list1 0 3

1) "redis"

3. Hash(字典,哈希表)

類似C#中的dict類型或者C++中的hash_map類型。

?

Redis Hash對應(yīng)Value內(nèi)部實際就是一個HashMap,實際這里會有2種不同實現(xiàn),這個Hash的成員比較少時Redis為了節(jié)省內(nèi)存會采用類似一維數(shù)組的方式來緊湊存儲,而不會采用真正的HashMap結(jié)構(gòu),對應(yīng)的value redisObject的encoding為zipmap,當(dāng)成員數(shù)量增大時會自動轉(zhuǎn)成真正的HashMap,此時encoding為ht。

?

應(yīng)用場景

假設(shè)有多個用戶及對應(yīng)的用戶信息,可以用來存儲以用戶ID為key,將用戶信息序列化為比如json格式做為value進行保存。

?

相關(guān)命令

HDEL

HDEL key field[field...] 刪除對象的一個或幾個屬性域,不存在的屬性將被忽略

HEXISTS

HEXISTS key field 查看對象是否存在該屬性域

HGET

HGET key field 獲取對象中該field屬性域的值

HGETALL

HGETALL key 獲取對象的所有屬性域和值

HINCRBY

HINCRBY key field value 將該對象中指定域的值增加給定的value,原子自增操作,只能是integer的屬性值可以使用

HINCRBYFLOAT

HINCRBYFLOAT key field increment 將該對象中指定域的值增加給定的浮點數(shù)

HKEYS

HKEYS key 獲取對象的所有屬性字段

HVALS

HVALS key 獲取對象的所有屬性值

HLEN

HLEN key 獲取對象的所有屬性字段的總數(shù)

HMGET

HMGET key field[field...] 獲取對象的一個或多個指定字段的值

HSET

HSET key field value 設(shè)置對象指定字段的值

HMSET

HMSET key field value [field value ...] 同時設(shè)置對象中一個或多個字段的值

HSETNX

HSETNX key field value 只在對象不存在指定的字段時才設(shè)置字段的值

HSTRLEN

HSTRLEN key field 返回對象指定field的value的字符串長度,如果該對象或者field不存在,返回0.

HSCAN

HSCAN key cursor [MATCH pattern] [COUNT count] 類似SCAN命令

使用示例

127.0.0.1:637文章來源地址http://www.zghlxwxcb.cn/news/detail-604886.html

到了這里,關(guān)于Redis常用數(shù)據(jù)類型和使用場景的文章就介紹完了。如果您還想了解更多內(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īng)查實,立即刪除!

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

相關(guān)文章

  • ②【Hash】Redis常用數(shù)據(jù)類型:Hash [使用手冊]

    ②【Hash】Redis常用數(shù)據(jù)類型:Hash [使用手冊]

    個人簡介:Java領(lǐng)域新星創(chuàng)作者;阿里云技術(shù)博主、星級博主、專家博主;正在Java學(xué)習(xí)的路上摸爬滾打,記錄學(xué)習(xí)的過程~ 個人主頁:.29.的博客 學(xué)習(xí)社區(qū):進去逛一逛~ redis hash 是一個String類型的field(字段)和value(值)的映射表。 redis中每個hash可以存儲2^32-1個鍵值對(40多億

    2024年02月04日
    瀏覽(48)
  • Redis數(shù)據(jù)類型詳解與應(yīng)用場景

    目錄 1. 字符串(String) 1.1 使用場景 1.2 代碼示例 2. 列表(List) 2.1 使用場景 2.2 代碼示例 3. 集合(Set) 3.1 使用場景 3.2 代碼示例 4. 散列(Hash) 4.1 使用場景 4.2 代碼示例 5. 有序集合(Sorted Set) 5.1 使用場景 5.2 代碼示例 6. 二進制位圖(Bitmap) 6.1 使用場景 6.2 代碼示例 7.

    2024年01月22日
    瀏覽(15)
  • 【Redis】九種數(shù)據(jù)類型及應(yīng)用場景

    【Redis】九種數(shù)據(jù)類型及應(yīng)用場景

    Redis是一個開源的,基于內(nèi)存的數(shù)據(jù)結(jié)構(gòu)存儲系統(tǒng),可以用作數(shù)據(jù)庫、緩存和消息中間件。它支持多種數(shù)據(jù)類型,包括字符串(String)、哈希表(Hash)、列表(List)、集合(Set)、有序集合(ZSet )、地理空間(Geo)、位圖(Bitmaps)、基數(shù)統(tǒng)計(HyperLogLog)、流信息(Stream

    2024年01月19日
    瀏覽(15)
  • 【Redis從頭學(xué)-6】Redis中的Hash數(shù)據(jù)類型實戰(zhàn)場景之購物車

    【Redis從頭學(xué)-6】Redis中的Hash數(shù)據(jù)類型實戰(zhàn)場景之購物車

    ?????作者名稱:DaenCode ??作者簡介:啥技術(shù)都喜歡搗鼓搗鼓,喜歡分享技術(shù)、經(jīng)驗、生活。 ??人生感悟:嘗盡人生百味,方知世間冷暖。 ??所屬專欄:Redis從頭學(xué) 之前的篇章對Redis的String、List數(shù)據(jù)類型已經(jīng)做出了具體分析,并舉例說明了其具體的實戰(zhàn)場景。本文就結(jié)合

    2024年02月11日
    瀏覽(21)
  • 【Redis從頭學(xué)-5】Redis中的List數(shù)據(jù)類型實戰(zhàn)場景之天貓熱銷榜單

    【Redis從頭學(xué)-5】Redis中的List數(shù)據(jù)類型實戰(zhàn)場景之天貓熱銷榜單

    ?????作者名稱:DaenCode ??作者簡介:啥技術(shù)都喜歡搗鼓搗鼓,喜歡分享技術(shù)、經(jīng)驗、生活。 ??人生感悟:嘗盡人生百味,方知世間冷暖。 ??所屬專欄:Redis從頭學(xué) 之前的篇章對Redis的String數(shù)據(jù)類型已經(jīng)做出了具體分析,并舉例說明了其具體的實戰(zhàn)場景本文就結(jié)合List數(shù)據(jù)

    2024年02月12日
    瀏覽(21)
  • 【分享】Redis的五種基本數(shù)據(jù)類型和應(yīng)用場景

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

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

    2024年02月16日
    瀏覽(16)
  • Redis常用數(shù)據(jù)類型及常用命令

    Redis常用數(shù)據(jù)類型及常用命令

    服務(wù)端運行 配置文件需要輸入完整地址 連接數(shù)據(jù)庫 設(shè)置數(shù)據(jù)庫密碼 編輯 redis.windows.conf 文件 帶端口密碼地址連接數(shù)據(jù)庫 利用可視化工具連接redis 連接前需啟動服務(wù)端 地址: https://gitee.com/qishibo/AnotherRedisDesktopManager/releases 字符串操作命令 哈希操作命令 列表操作命令 集合操

    2024年02月11日
    瀏覽(19)
  • Redis常用數(shù)據(jù)類型

    Redis常用數(shù)據(jù)類型

    Redis hash 是一個 string 類型的 field(字段) 和 value(值) 的映射表,hash 特別適合用于存儲對象。 Redis 中每個 hash 可以存儲 232 - 1 鍵值對(40多億) 它的value就是一個hash類型,而hash類型的結(jié)構(gòu)key value形式。一般用于存放對象數(shù)據(jù)。 Redis列表是簡單的字符串列表,按照插入順序

    2024年02月12日
    瀏覽(21)
  • Redis常用的數(shù)據(jù)結(jié)構(gòu)及實際應(yīng)用場景

    本文介紹了Redis中常用的數(shù)據(jù)結(jié)構(gòu),包括字符串、列表、集合、哈希表、有序集合和Bitmap,并結(jié)合實際案例詳細說明了它們在各種場景下的使用。 Redis是一種基于內(nèi)存的高性能鍵值存儲系統(tǒng),擁有多種數(shù)據(jù)結(jié)構(gòu),每種數(shù)據(jù)結(jié)構(gòu)都具有獨特的特點和適用場景。了解這些數(shù)據(jù)結(jié)構(gòu)

    2024年02月08日
    瀏覽(27)
  • 【Redis從頭學(xué)-7】Redis中的Set數(shù)據(jù)類型實戰(zhàn)場景之用戶畫像去重、共同關(guān)注、專屬粉絲

    【Redis從頭學(xué)-7】Redis中的Set數(shù)據(jù)類型實戰(zhàn)場景之用戶畫像去重、共同關(guān)注、專屬粉絲

    ?????作者名稱:DaenCode ??作者簡介:啥技術(shù)都喜歡搗鼓搗鼓,喜歡分享技術(shù)、經(jīng)驗、生活。 ??人生感悟:嘗盡人生百味,方知世間冷暖。 ??所屬專欄:Redis從頭學(xué) 之前的篇章對Redis的String、List、Hash數(shù)據(jù)類型已經(jīng)做出了具體分析,并舉例說明了其具體的實戰(zhàn)場景本文就

    2024年02月12日
    瀏覽(16)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包