国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > Redis > 正文

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

2020-03-17 12:40:32
字體:
供稿:網(wǎng)友

Redis字符串類型

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

一、最簡(jiǎn)單的命令

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

keys *

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

     ?:匹配一個(gè)字符

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

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

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

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

例:

redis 127.0.0.1:6379> set name "joan"OKredis 127.0.0.1:6379> get name"joan"redis 127.0.0.1:6379> set aaa 1OKredis 127.0.0.1:6379> set bbb 2OKredis 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) 1redis 127.0.0.1:6379> exists n(integer) 0

3、刪除鍵

 del foo

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

del foo bar

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

例:

redis 127.0.0.1:6379> keys *1) "aaa"2) "name"3) "bbb"redis 127.0.0.1:6379> del aaa bbb(integer) 2redis 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ù)類型,他能存儲(chǔ)任意形式的字符串,包括二進(jìn)制數(shù)據(jù)。字符串類型也是其他四種數(shù)據(jù)類型的基礎(chǔ)。也就是說,其他四種數(shù)據(jù)類型都是由字符串類型所組成的。

常用命令如下:

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

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

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

例:

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

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

例:

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

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

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

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

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

例:

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

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

mget key [key ...]        #同時(shí)獲得多個(gè)鍵值,鍵值的列表

例:

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

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

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

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

redis set foo barOK

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

01100010、01100001、01110010

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

redis> getbit foo 00redis> getbit foo 11redis> getbit foo 21redis> getbit foo 30 

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

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

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

redis> setbit foo 6 0(integer) 1

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

redis> setbit qqq 8 1(integer) 0

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

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

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

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

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

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

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

總結(jié)

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


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到Redis頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 达孜县| 霍邱县| 泽库县| 蒙自县| 含山县| 大庆市| 赤壁市| 新安县| 和平县| 固始县| 沙河市| 武宣县| 玉环县| 谷城县| 兴宁市| 崇左市| 铜鼓县| 兰考县| 南汇区| 左云县| 扎囊县| 绵阳市| 钟山县| 抚顺县| 商南县| 虎林市| 红原县| 喀喇| 永安市| 芦山县| 镇坪县| 罗甸县| 永年县| 文成县| 巴林右旗| 丰城市| 神木县| 侯马市| 伊春市| 宿迁市| 自贡市|