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

Redis字符串類型的常用命令小結(jié)

 更新時間:2016年09月27日 08:56:09   作者:Joan  
這篇文章給大家整理了在操作Redis字符串類型中的常用命令,文章總結(jié)的很全面,對大家學(xué)習(xí)Redis具有一定的參考借鑒價值,下面來一起看看吧。

Redis字符串類型

字符串類型是Redis中最為基礎(chǔ)的數(shù)據(jù)存儲類型,它在Redis中是二進(jìn)制安全的,這便意味著該類型可以接受任何格式的數(shù)據(jù),如JPEG圖像數(shù)據(jù)或Json對象描述信息等。在Redis中字符串類型的Value最多可以容納的數(shù)據(jù)長度是512M。

一、最簡單的命令

1、獲得符合規(guī)則的鍵名列表

keys *

這里的*號,是指列出所有的鍵,同時*號也可以替換成其他支持glob風(fēng)格通配符格式,具體規(guī)則如下:

     ?:匹配一個字符

     *:匹配任意個(包括0個)字符

     []:匹配括號間多大任一個字符,可以使用“-”表示范圍,如[a-z]

     \x:匹配字符x,用于轉(zhuǎn)義,如需匹配問號,需要\?才能匹配

這里說明一下,redis命令是不區(qū)分大小寫的,還有就是keys命令是需要遍歷Redis中所有的鍵的,當(dāng)鍵很多時,很耗費(fèi)性能的。所以在生產(chǎn)環(huán)境中要盡可能的不用。

例:

redis 127.0.0.1:6379> set name "joan"
OK
redis 127.0.0.1:6379> get name
"joan"
redis 127.0.0.1:6379> set aaa 1
OK
redis 127.0.0.1:6379> set bbb 2
OK
redis 127.0.0.1:6379> keys *
1) "aaa"
2) "name"
3) "bbb"

2、判斷鍵是否存在

exists foo

如果存在返回證書類型1,否則返回0

例:

redis 127.0.0.1:6379> exists name
(integer) 1
redis 127.0.0.1:6379> exists n
(integer) 0

3、刪除鍵

 del foo

返回的是刪除的鍵的個數(shù),這里說明也可以一次刪除多個鍵,只需空格再加鍵就可以了。例如:

del foo bar

如果刪除一個鍵,這個鍵已經(jīng)不存在了就會返回0 。

例:

redis 127.0.0.1:6379> keys *
1) "aaa"
2) "name"
3) "bbb"
redis 127.0.0.1:6379> del aaa bbb
(integer) 2
redis 127.0.0.1:6379> del aaa
(integer) 0

4、獲得鍵值的數(shù)據(jù)類型

type foo

這里在重復(fù)一下上次說過的,redis的數(shù)據(jù)類型有:string(字符串類型)、hash(散列類型)、list(列表類型)、set(集合類型)、zset(有序集合類型)。

下面開始詳細(xì)介紹每種數(shù)據(jù)類型的命令。

二、字符串類型

字符串類型是Redis中最基本的數(shù)據(jù)類型,他能存儲任意形式的字符串,包括二進(jìn)制數(shù)據(jù)。字符串類型也是其他四種數(shù)據(jù)類型的基礎(chǔ)。也就是說,其他四種數(shù)據(jù)類型都是由字符串類型所組成的。

常用命令如下:

     set key value   #賦值,返回值是OK

     get key            #取值,返回值是對應(yīng)鍵的值

     incr key          #遞增數(shù)字,雖然是字符串類型,但如果可以是整型的話,也是可以使用此命令遞增的,返回值是遞增后的值,遞增操作后,再次獲取該key值,值為新值。

例:

redis 127.0.0.1:6379> get age
"32"
redis 127.0.0.1:6379> incr age
(integer) 33
redis 127.0.0.1:6379> get age
"33"

incrby key number      #這個命令和上一個類似,只不過可以通過number指定增長的數(shù)量,返回值同樣是增長后的值

例:

redis 127.0.0.1:6379> incrby age 5
(integer) 38
redis 127.0.0.1:6379> get age
"38"

decr key        #遞減數(shù)字,類似遞增,這里不做過多解釋了

decrby key number     #類似于incrby,這里大家應(yīng)該可以猜到,decrby key number和incrby key -number是一個意思

incrbyfloat key floatnumber     #增加指定浮點(diǎn)數(shù),這個是增加一個雙精度的浮點(diǎn)數(shù),位數(shù)多了就會不準(zhǔn)

append key value      #向尾部追加值,如 append foo ” value”,這個時候用引號是為了標(biāo)識有空格,返回值為值的總長度

例:

redis 127.0.0.1:6379> append name 'hello'
(integer) 9
redis 127.0.0.1:6379> get name
"joanhello"

strlen key        #獲取字符串值總長度,返回值就是長度,如果key不存在,則返回0

mget key [key ...]        #同時獲得多個鍵值,鍵值的列表

例:

redis 127.0.0.1:6379> mget name age float
1) "joanhello"
2) "38"
3) "33.33"

mset key value [key value ...]     #同時設(shè)置多個鍵值,成功返回OK

redis 127.0.0.1:6379> mset name "joan" age 9 float 33.33
OK
redis 127.0.0.1:6379> mget name age float
1) "joan"
2) "9"
3) "33.33"

setbit/getbit    #這個是位操作,具體示例如下:

redis set foo bar
OK

這時賦值給foo值為bar,對應(yīng)的ASCII碼為98、97、114,轉(zhuǎn)換為八位二進(jìn)制為:

01100010、01100001、01110010

進(jìn)行如下操作:

redis> getbit foo 0
0
redis> getbit foo 1
1
redis> getbit foo 2
1
redis> getbit foo 3
0 

所以getbit就是獲取key對應(yīng)的字符串類型鍵值指定位置的二進(jìn)制的值(0或1),索引從0開始。

如果獲取超出了最大值,也返回0.

而相反,setbit就是來設(shè)置key對應(yīng)的指定位置的二進(jìn)制值的。返回值是該位置的舊值。例如

redis> setbit foo 6 0
(integer) 1

如果要設(shè)置的值超過了最大長度,則命令會將最大長度之后到最大長度之間未設(shè)置的值統(tǒng)一設(shè)置為0,同理,設(shè)置一個不存在的鍵值,也會自動把它前面所有未設(shè)置的位置二進(jìn)制設(shè)為0。如:

redis> setbit qqq 8 1
(integer) 0

則會把qqq對應(yīng)的值變?yōu)?0000001 。

bitcount key 命令可以返回字符串類型鍵值中二進(jìn)制值為1的個數(shù)。

同時他的參數(shù)還可以設(shè)置查詢的范圍,

bitcount foo 0 1   #意思是只查詢ba兩個字節(jié)中包含二進(jìn)制值為1的個數(shù)。

最后一個bitop命令,可以進(jìn)行位操作。

bitop OR res foo1 foo2    #意思是把foo1和foo2做OR運(yùn)算,結(jié)果存入res中。bitop支持的位操作有ND、OR、XOR、NOT四個。

字符串的操作命令就這些了。位的命令還是很有用的,比如我們在存儲性別的時候可以把性別的類型設(shè)置為一個比特位,這樣超級省空間的。

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望能對大家的學(xué)習(xí)或者工作帶來一定的幫助,如果有疑問大家可以留言交流。

相關(guān)文章

  • 解決redis sentinel 頻繁主備切換的問題

    解決redis sentinel 頻繁主備切換的問題

    這篇文章主要介紹了解決redis sentinel 頻繁主備切換的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • Redis源碼解析:集群手動故障轉(zhuǎn)移、從節(jié)點(diǎn)遷移詳解

    Redis源碼解析:集群手動故障轉(zhuǎn)移、從節(jié)點(diǎn)遷移詳解

    這篇文章主要介紹了Redis源碼解析:集群手動故障轉(zhuǎn)移、從節(jié)點(diǎn)遷移的相關(guān)內(nèi)容,涉及通過集群定時器函數(shù)clusterCron實(shí)現(xiàn)從節(jié)點(diǎn)遷移等知識,具有一定參考價值,需要的朋友可以了解。
    2017-10-10
  • Redis哨兵模式實(shí)現(xiàn)一主二從三哨兵

    Redis哨兵模式實(shí)現(xiàn)一主二從三哨兵

    本文主要介紹了Redis哨兵模式實(shí)現(xiàn)一主二從三哨兵,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • redis適合場景八點(diǎn)總結(jié)

    redis適合場景八點(diǎn)總結(jié)

    在本篇文章中我們給大家整理了關(guān)于redis適合什么場景的8點(diǎn)知識點(diǎn)內(nèi)容,需要的朋友們參考下。
    2019-06-06
  • Redis實(shí)現(xiàn)分布式鎖的方法示例

    Redis實(shí)現(xiàn)分布式鎖的方法示例

    本篇文章主要介紹了Redis實(shí)現(xiàn)分布式鎖的方法示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10
  • Redis密碼設(shè)置與訪問限制實(shí)現(xiàn)方法

    Redis密碼設(shè)置與訪問限制實(shí)現(xiàn)方法

    這篇文章主要介紹了Redis密碼設(shè)置與訪問限制實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-11-11
  • Redis 的查詢很快的原因解析及Redis 如何保證查詢的高效

    Redis 的查詢很快的原因解析及Redis 如何保證查詢的高效

    由于redis是內(nèi)存數(shù)據(jù)庫,歸功于它的數(shù)據(jù)結(jié)構(gòu)所以查詢效率非常高,今天通過本文給大家介紹下Redis 的查詢很快的原因解析及Redis 如何保證查詢的高效,感興趣的朋友一起看看吧
    2022-03-03
  • 用Lua腳本實(shí)現(xiàn)Redis原子操作的示例

    用Lua腳本實(shí)現(xiàn)Redis原子操作的示例

    本文主要介紹了用Lua腳本實(shí)現(xiàn)Redis原子操作的示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-03-03
  • 分布式爬蟲處理Redis里的數(shù)據(jù)操作步驟

    分布式爬蟲處理Redis里的數(shù)據(jù)操作步驟

    這篇文章主要介紹了分布式爬蟲處理Redis里的數(shù)據(jù)操作步驟,數(shù)據(jù)分別存入mongodb和mysql數(shù)據(jù)庫,具體內(nèi)容詳情及實(shí)例代碼大家參考下本文
    2018-03-03
  • 淺析Redis中紅鎖RedLock的實(shí)現(xiàn)原理

    淺析Redis中紅鎖RedLock的實(shí)現(xiàn)原理

    RedLock?是一種分布式鎖的實(shí)現(xiàn)算法,由?Redis?的作者?Salvatore?Sanfilippo(也稱為?Antirez)提出,本文主要為大家詳細(xì)介紹了紅鎖RedLock的實(shí)現(xiàn)原理,感興趣的可以了解下
    2024-02-02

最新評論

阿克陶县| 宜丰县| 合水县| 杭锦后旗| 乐安县| 周宁县| 安福县| 华容县| 阳朔县| 广宁县| 大悟县| 天台县| 砀山县| 武清区| 定西市| 平南县| 诏安县| 鹿邑县| 乡宁县| 新闻| 攀枝花市| 屯昌县| 政和县| 阿巴嘎旗| 迭部县| 高密市| 阿城市| 明星| 永顺县| 邯郸市| 禹州市| 鸡泽县| 樟树市| 平凉市| 建宁县| 景泰县| 色达县| 土默特右旗| 清新县| 安新县| 抚远县|