linux的redis操作命令
Linux下掌握了redis的基本操作命令對(duì)我們學(xué)習(xí)redis事半功倍。下面由學(xué)習(xí)啦小編為大家整理了linux下redis操作命令的相關(guān)知識(shí),希望對(duì)大家有幫助!
linux的redis操作命令一、key pattern 查詢(xún)相應(yīng)的key
(1)Redis允許模糊查詢(xún)key 有3個(gè)通配符 *、?、[]
(2)randomkey:返回隨機(jī)key
(3)type key:返回key存儲(chǔ)的類(lèi)型
(4)exists key:判斷某個(gè)key是否存在
(5)del key:刪除key
(6)rename key newkey:改名
(7)renamenx key newkey:如果newkey不存在則修改成功
(8)move key 1:將key移動(dòng)到1數(shù)據(jù)庫(kù)
(9)ttl key:查詢(xún)key的生命周期(秒)
(10)expire key 整數(shù)值:設(shè)置key的生命周期以秒為單位
(11)pexpire key 整數(shù)值:設(shè)置key的生命周期以毫秒為單位
(12)pttl key:查詢(xún)key 的生命周期(毫秒)
(13)perisist key:把指定key設(shè)置為永久有效
linux的redis操作命令二、字符串類(lèi)型的操作
(1)set key value [ex 秒數(shù)] [px 毫秒數(shù)] [nx/xx]
如果ex和px同時(shí)寫(xiě),則以后面的有效期為準(zhǔn)
nx:如果key不存在則建立
xx:如果key存在則修改其值
(2)get key:取值
(3)mset key1 value1 key2 value2 一次設(shè)置多個(gè)值
(4)mget key1 key2 :一次獲取多個(gè)值
(5)setrange key offset value:把字符串的offset偏移字節(jié)改成value ,如果偏移量 > 字符串長(zhǎng)度,該字符自動(dòng)補(bǔ)0x00
(6)append key value :把value追加到key 的原值上
(7)getrange key start stop:獲取字符串中[start, stop]范圍的值,對(duì)于字符串的下標(biāo),左數(shù)從0開(kāi)始,右數(shù)從-1開(kāi)始
注意:當(dāng)start>length,則返回空字符串
當(dāng)stop>=length,則截取至字符串尾
如果start所處位置在stop右邊,則返回空字符串
(8)getset key nrevalue:獲取并返回舊值,在設(shè)置新值
(9)incr key:自增,返回新值,如果incr一個(gè)不是int的value則返回錯(cuò)誤,incr一個(gè)不存在的key,則設(shè)置key為1
(10)incrby key 2:跳2自增
(11)incrbyfloat by 0.7: 自增浮點(diǎn)數(shù)
(12)setbit key offset value:設(shè)置offset對(duì)應(yīng)二進(jìn)制上的值,返回該位上的舊值
注意:如果offset過(guò)大,則會(huì)在中間填充0,offset最大到2^32-1,即可推出最大的字符串為512M
(13)bitop operation destkey key1 [key2..] 對(duì)key1 key2做opecation并將結(jié)果保存在destkey上
opecation可以是AND OR NOT XOR
(14)strlen key:取指定key的value值的長(zhǎng)度
(15)setex key time value:設(shè)置key對(duì)應(yīng)的值value,并設(shè)置有效期為time秒
linux的redis操作命令三、鏈表操作
redis的list類(lèi)型其實(shí)就是一個(gè)每個(gè)子元素都是string類(lèi)型的雙向鏈表,鏈表的最大長(zhǎng)度是2^32。list既可以用做棧,也可以用做隊(duì)列。
list的pop操作還有阻塞版本,主要是為了避免輪詢(xún)
(1)lpush key value:把值插入到鏈表頭部
(2)rpush key value:把值插入到鏈表尾部
(3)lpop key :返回并刪除鏈表頭部元素
(4)rpop key: 返回并刪除鏈表尾部元素
(5)lrange key start stop:返回鏈表中[start, stop]中的元素
(6)lrem key count value:從鏈表中刪除value值,刪除count的絕對(duì)值個(gè)value后結(jié)束
count > 0 從表頭刪除 count < 0 從表尾刪除 count=0 全部刪除
(7)ltrim key start stop:剪切key對(duì)應(yīng)的鏈接,切[start, stop]一段并把改制重新賦給key
(8)lindex key index:返回index索引上的值
(9)llen key:計(jì)算鏈表的元素個(gè)數(shù)
(10)linsert key after|before search value:在key 鏈表中尋找search,并在search值之前|之后插入value
(11)rpoplpush source dest:把source 的末尾拿出,放到dest頭部,并返回單元值
應(yīng)用場(chǎng)景: task + bak 雙鏈表完成安全隊(duì)列
業(yè)務(wù)邏輯: rpoplpush task bak
接收返回值并做業(yè)務(wù)處理
如果成功則rpop bak清除任務(wù),如果不成功,下次從bak表取任務(wù)
(12)brpop,blpop key timeout:等待彈出key的尾/頭元素
timeout為等待超時(shí)時(shí)間,如果timeout為0則一直等待下去
應(yīng)用場(chǎng)景:長(zhǎng)輪詢(xún)ajax,在線(xiàn)聊天時(shí)能用到
linux的redis操作命令
下一篇:linux的redis常用命令