欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

redis中數(shù)據(jù)類型命令整理

 更新時(shí)間:2020年03月11日 10:48:49   作者:尚  
在本篇文章里小編給大家整理的是關(guān)于redis中5種數(shù)據(jù)類型基本命令介紹,需要的朋友們可以學(xué)習(xí)下。

redis是鍵值對(duì)的數(shù)據(jù)庫,有5中主要數(shù)據(jù)類型:

字符串類型(string),散列類型(hash),列表類型(list),集合類型(set),有序集合類型(zset)

幾個(gè)基本的命令:

函數(shù) 說明
keys * 獲得當(dāng)前數(shù)據(jù)庫的所有鍵

exists key [key ...] 判斷鍵是否存在,返回個(gè)數(shù),如果key有一樣的也是疊加數(shù)
del key [key ...] 刪除鍵,返回刪除的個(gè)數(shù)

type key 獲取減值的數(shù)據(jù)類型(string,hash,list,set,zset)
flushall 清空所有數(shù)據(jù)庫
config [get、set] redis配置

-inf 負(fù)無窮

+inf正無窮

一:字符串類型(string)

字符串類型是Redis的最基本類型,它可以存儲(chǔ)任何形式的字符串。其它的四種類型都是字符串類型的不同形式。

函數(shù) 語法
最基本的命令:GET、SET GET key,SET key value value如果有空格需要雙引號(hào)以示區(qū)分
整數(shù)遞增:INCR INCR key 默認(rèn)值為0,所以首先執(zhí)行命令得到 1 ,不是整型提示錯(cuò)誤
增加指定的整數(shù):INCRBY INCRBY key increment
整數(shù)遞減:DECR DECR key 默認(rèn)值為0,所以首先執(zhí)行命令得到 -1,不是整型提示錯(cuò)誤
減少指定的整數(shù):DECRBY DECRBY key increment
增加指定浮點(diǎn)數(shù):INCRBYFLOAT INCRBYFLOAT key increment 與INCR命令類似,只不過可以遞增一個(gè)雙精度浮點(diǎn)數(shù)
向尾部追加值:APPEND APPEND key value redis客戶端并不是輸出追加后的字符串,而是輸出字符串總長(zhǎng)度
獲取字符串長(zhǎng)度:STRLEN STRLEN key 如果鍵不存在返回0,注意如果有中文時(shí),一個(gè)中文長(zhǎng)度是3,redis是使用UTF-8編碼中文的
獲取多個(gè)鍵值:MGET MGET key [key ...] 例如:MGET key1 key2
設(shè)置多個(gè)鍵值:MSET MSET key value [key value ...] 例如:MSET key1 1 key2 "hello redis"
二進(jìn)制指定位置值:GETBIT

GETBIT key offset 例如:GETBIT key1 2 ,key1為hello 返回 1,返回的值只有0或1,當(dāng)key不存在或超出實(shí)際長(zhǎng)度時(shí)為0

設(shè)置二進(jìn)制位置值:SETBIT SETBIT key offset value ,返回該位置的舊值
二進(jìn)制是1的個(gè)數(shù):BITCOUNT BITCOUNT key [start end] ,start 、end為開始和結(jié)束字節(jié)
位運(yùn)算:BITOP BITOP operation destkey key [key ...] ,operation支持AND、OR、XOR、NOT
偏移:BITPOS BITPOS key bit [start] [end]

二:散列類型(hash)

函數(shù) 語法
設(shè)置單個(gè):HSET HSET key field value,不存在時(shí)返回1,存在時(shí)返回0,沒有更新和插入之分
設(shè)置多個(gè):HMSET HMSET key field value [field value ...]
讀取單個(gè):HGET HGET key field,不存在是返回nil
讀取多個(gè):HMGET HMGET key field [field ...]
讀取全部:HGETALL HGETALL key,返回時(shí)字段和字段值的列表
判斷字段是否存在:HEXISTS HEXISTS key field,存在返回1 ,不存在返回0
字段不存在時(shí)賦值:HSETNX HSETNX key field value,與hset命令不同,hsetnx是鍵不存在時(shí)設(shè)置值
增加數(shù)字:HINCRBY HINCRBY key field increment ,返回增加后的數(shù),不是整數(shù)時(shí)會(huì)提示錯(cuò)誤
刪除字段:HDEL HDEL key field [field ...] ,返回被刪除字段的個(gè)數(shù)
只獲取字段名:HKEYS HKEYS key ,返回鍵的所有字段名
只獲取字段值:HVALS HVALS key ,返回鍵的所有字段值
字段數(shù)量:HLEN HLEN key ,返回字段總數(shù)

三:列表類型(list)

內(nèi)部使用雙向鏈表實(shí)現(xiàn),所以獲取越接近兩端的元素速度越快,但通過索引訪問時(shí)會(huì)比較慢

函數(shù) 語法
添加左邊元素:LPUSH LPUSH key value [value ...] ,返回添加后的列表元素的總個(gè)數(shù)
添加右邊元素:RPUSH RPUSH key value [value ...] ,返回添加后的列表元素的總個(gè)數(shù)
移除左邊第一個(gè)元素:LPOP LPOP key ,返回被移除的元素值
移除右邊第一個(gè)元素:RPOP RPOP key ,返回被移除的元素值
列表元素個(gè)數(shù):LLEN LLEN key, 不存在時(shí)返回0,redis是直接讀取現(xiàn)成的值,并不是統(tǒng)計(jì)個(gè)數(shù)
獲取列表片段:LRANGE

LRANGE key start stop,如果start比stop靠后時(shí)返回空列表,0 -1 返回整個(gè)列表正數(shù)時(shí):start 開始索引值,stop結(jié)束索引值(索引從0開始)負(fù)數(shù)時(shí):例如 lrange num -2 -1,-2表示最右邊第二個(gè),-1表示最右邊第一個(gè),

刪除指定值:LREM

LREM key count value,返回被刪除的個(gè)數(shù)

count>0,從左邊開始刪除前count個(gè)值為value的元素

count<0,從右邊開始刪除前|count|個(gè)值為value的元素

count=0,刪除所有值為value的元素

索引元素值:LINDEX LINDEX key index ,返回索引的元素值,-1表示從最右邊的第一位
設(shè)置元素值:LSET LSET key index value
保留列表片段:LTRIM LTRIM key start stop,start、top 參考lrange命令
一個(gè)列表轉(zhuǎn)移另一個(gè)列表:RPOPLPUSH

RPOPLPUSH source desctination ,從source列表轉(zhuǎn)移到desctination列表,該命令分兩步看,首先source列表RPOP右移除,再desctination列表LPUSH

四:集合類型(set)

集合類型值具有唯一性,常用操作是向集合添加、刪除、判斷某個(gè)值是否存在,集合內(nèi)部是使用值為空的散列表實(shí)現(xiàn)的。

函數(shù) 語法
添加元素:SADD

SADD key member [member ...] ,向一個(gè)集合添加一個(gè)或多個(gè)元素,因?yàn)榧系奈ㄒ恍?,所以添加相同值時(shí)會(huì)被忽略。返回成功添加元素的數(shù)量。

刪除元素:SREM SREM key member [member ...] 刪除集合中一個(gè)或多個(gè)元素,返回成功刪除的個(gè)數(shù)。
獲取全部元素:SMEMBERS SMEMBERS key ,返回集合全部元素
值是否存在:SISMEMBER
SISMEMBER key member ,如果存在返回1,不存在返回0
差運(yùn)算:SDIFF SDIFF key [key ...] ,例如:集合A和集合B,差集表示A-B,在A里有的元素B里沒有,返回差集合;多個(gè)集合(A-B)-C
交運(yùn)算:SINTER SINTER key [key ...],返回交集集合,每個(gè)集合都有的元素
并運(yùn)算:SUNION  SUNION key [key ...],返回并集集合,所有集合的元素
集合元素個(gè)數(shù):SCARD SCARD key ,返回集合元素個(gè)數(shù)
集合運(yùn)算后存儲(chǔ)結(jié)果

SDIFFSTROE destination key [key ...] ,差運(yùn)算并存儲(chǔ)到destination新集合中SINTERSTROE destination key [key ...],交運(yùn)算并存儲(chǔ)到destination新集合中SUNIONSTROE destination key [key ...],并運(yùn)算并存儲(chǔ)到destination新集合中

隨機(jī)獲取元素:SRANDMEMGER

SRANDMEMBER key [count],根據(jù)count不同有不同結(jié)果,count大于元素總數(shù)時(shí)返回全部元素count>0 ,返回集合中count不重復(fù)的元素count<0,返回集合中count的絕對(duì)值個(gè)元素,但元素可能會(huì)重復(fù)

彈出元素:SPOP SPOP key [count] ,因?yàn)榧鲜菬o序的,所以spop會(huì)隨機(jī)彈出一個(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ù)。

函數(shù) 語法
添加集合元素:ZADD ZADD key [NX|XX] [CH] [INCR] score member [score member ...],不存在添加,存在更新。
獲取元素分?jǐn)?shù):ZSCORE ZSCORE key member ,返回元素成員的score 分?jǐn)?shù)
元素小到大:ZRANGE

ZRANGE key start top [WITHSCORES] ,參考LRANGE ,加上withscores 返回帶元素,即元素,分?jǐn)?shù)當(dāng)分?jǐn)?shù)一樣時(shí),按元素排序

元素大到小:ZREVRANGE ZREVRANGE key start [WITHSCORES] ,與zrange區(qū)別在于zrevrange是從大到小排序
指定分?jǐn)?shù)范圍元素:ZRANGEBYSCORE

ZRANGEBYSCORE key min max [WITHSCORE] [LIMIT offest count]返回從小到大的在min和max之間的元素,( 符號(hào)表示不包含,例如:80-100,(80 100,withscore返回帶分?jǐn)?shù)limit offest count 向左偏移offest個(gè)元素,并獲取前count個(gè)元素

指定分?jǐn)?shù)范圍元素:ZREVRANGESCORE

ZREVRANGEBYSCORE key max min [WITHSCORE] [LIMIT offest count]與zrangebyscore類似,只不過該命令是從大到小排序的。

增加分?jǐn)?shù):ZINCRBY ZINCRBY key increment member ,注意是增加分?jǐn)?shù),返回增加后的分?jǐn)?shù);如果成員不存在,則添加一個(gè)為0的成員。

到此這篇關(guān)于redis中數(shù)據(jù)類型命令整理的文章就介紹到這了,更多相關(guān)redis中5種數(shù)據(jù)類型基本命令介紹內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Redis 集群搭建和簡(jiǎn)單使用教程

    Redis 集群搭建和簡(jiǎn)單使用教程

    集群技術(shù)是構(gòu)建高性能網(wǎng)站架構(gòu)的重要手段,下面這篇文章主要介紹了Redis 集群搭建和簡(jiǎn)單使用教程,文中通過示例代碼和圖片介紹的很想,對(duì)大家具有一定的參考價(jià)值,有需要的朋友們下面來一起看看吧。
    2017-02-02
  • Redis實(shí)現(xiàn)唯一計(jì)數(shù)的3種方法分享

    Redis實(shí)現(xiàn)唯一計(jì)數(shù)的3種方法分享

    這篇文章主要介紹了Redis實(shí)現(xiàn)唯一計(jì)數(shù)的3種方法分享,本文講解了基于SET、基于 bit、基于 HyperLogLog三種方法,需要的朋友可以參考下
    2015-03-03
  • redis中key的設(shè)置方法步驟

    redis中key的設(shè)置方法步驟

    在本篇文章里小編給大家分享了關(guān)于redis中key的設(shè)置方法步驟以及相關(guān)知識(shí)點(diǎn),有興趣的朋友們學(xué)習(xí)參考下。
    2019-07-07
  • RedisTemplate常用操作方法總結(jié)(set、hash、list、string等)

    RedisTemplate常用操作方法總結(jié)(set、hash、list、string等)

    本文主要介紹了RedisTemplate常用操作方法總結(jié),主要包括了6種常用方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-05-05
  • macOS上Redis的安裝與測(cè)試操作

    macOS上Redis的安裝與測(cè)試操作

    這篇文章主要介紹了macOS上Redis的安裝與測(cè)試操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • Redis配置文件redis.conf詳細(xì)配置說明

    Redis配置文件redis.conf詳細(xì)配置說明

    本文列出了Redis的配置文件redis.conf的各配置項(xiàng)的詳細(xì)說明,簡(jiǎn)單易懂
    2018-03-03
  • Redis?Lua腳本實(shí)現(xiàn)ip限流示例

    Redis?Lua腳本實(shí)現(xiàn)ip限流示例

    這篇文章主要介紹了Redis?Lua腳本實(shí)現(xiàn)ip限流示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-07-07
  • Redis實(shí)現(xiàn)UV統(tǒng)計(jì)的示例代碼

    Redis實(shí)現(xiàn)UV統(tǒng)計(jì)的示例代碼

    本文主要介紹了Redis實(shí)現(xiàn)UV統(tǒng)計(jì)的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • Redis Sentinel服務(wù)配置流程(詳解)

    Redis Sentinel服務(wù)配置流程(詳解)

    下面小編就為大家?guī)硪黄猂edis Sentinel服務(wù)配置流程(詳解)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-03-03
  • redis數(shù)據(jù)類型_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    redis數(shù)據(jù)類型_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    這篇文章主要介紹了redis數(shù)據(jù)類型,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-08-08

最新評(píng)論