redis 慢查詢邢享、pipeline鹏往、發(fā)布訂閱、bitmap骇塘、hyperloglog伊履、GEO

一 慢查詢

慢查詢是一個先進(jìn)先出的隊(duì)韩容,并且是固定長度的,并保存在內(nèi)存中唐瀑。

slowlog-log-slower-than=1000群凶,慢查詢的閾值,單位是微妙

#默認(rèn)值
config get slowlog-max-len = 128  
config get slowlog-log-slower-than = 10000    

可通過修改配置文件重啟(不建議)
動態(tài)配置方法

建議閾值值設(shè)置為1毫秒介褥,隊(duì)列長度1000左右
config set slowlog-max-len = 128
config setslowlog-log-slower-than = 1000

其他命令

#1.獲取慢查詢的隊(duì)列
slowlog get [n] 
#2.獲取慢查詢隊(duì)列長度
slowlog len
#3.清空慢查詢隊(duì)列
slowlog reset

二 pipeline

pipline是批量操做命令的一個功能,例如set 1000次座掘,不用循環(huán)1000次,每次都做set的操作柔滔,這樣做的好處是減少每次循環(huán)網(wǎng)絡(luò)的請求時間

三 發(fā)布訂閱

角色:發(fā)布者(redis-cli)溢陪、訂閱者(redis-ci)、頻道(redis-server)
類似于生產(chǎn)者與消費(fèi)者的模型睛廊, 發(fā)布者將消息發(fā)布到頻道,訂閱者接收信息
一個訂閱者可訂閱多個頻道,新建的訂閱者無法訂閱到新建時間之前的消息

消息隊(duì)列是 只有一個訂閱者可以獲得消息

API:

1.返回訂閱者個數(shù)
publish channel message

publish channel1 "hello world"

2.返回訂閱者的頻道和改頻道的訂閱個數(shù)形真;以及消息對應(yīng)的頻道及消息內(nèi)容
subscribe [channel] #訂閱一個或多個頻道

subscribe channel1

3.取消訂閱一個或多個頻道
返回 取消訂閱的頻道;取消訂閱頻道的訂閱者個數(shù)

unsubscribe [channel]

unsubscribe channel1

psubscribe ['pattern..'] # 訂閱模式
punsubscribe ['pattern..'] # 退訂指定的模式
pubsub channels # 列出至少有一個訂閱者的頻道
pubsub numsub # 列出給定頻道的訂閱者數(shù)量

四 Bitmap (位圖)

對字符串中的每個字符位的操作超全,最大長度為512MB咆霜,適合于大規(guī)模的數(shù)據(jù)

API
  1. 給位圖指定索引設(shè)置值
    setbit key offset value
    返回值 是設(shè)置前的值
set hello world
getbit hello 0
setbit hello 7  1 #一個字節(jié)對應(yīng)8個位,從0開始,7代表word中w的最后一位

注意 如果設(shè)置索引值大于當(dāng)前位嘶朱,則之間的位都會補(bǔ)0蛾坯,如果索引值很大,會非常慢

2.獲取位圖上指定索引的值
返回值 是當(dāng)前偏移量的位的值
getbit key offset

getbit hello 7

3.獲取位圖指定范圍值為1的個數(shù)(單位為字節(jié)疏遏,如果不指定就是獲取全部)
bitcount key [start end]

bitcount hello 

4.多個bitmap的and(交集)脉课、or(并集)、not(非)财异、xor(異或)操作并將結(jié)果保存在destkey中
bitop op destkey key [key....] # op = and | or | not | xor
返回值 是destkey中字節(jié)的長度

求兩個位圖的并集
bitop and key key1 key2

5.計(jì)算位圖指定范圍的第一個偏移量對應(yīng)的值等于targetBit的位置(單位是字節(jié)倘零,如果不指定就是獲取全部)
bitpos key targetBit [start] [end]
返回值是 targetBit 的一個位置

bitpos key 1 # 獲取key中值是1的第一個位置

五 HyperLogLog

用極小的空間完成獨(dú)立數(shù)量統(tǒng)計(jì)
API

1.向hyperloglog中添加元素
pfadd key element [element....]

2.計(jì)算獨(dú)立總數(shù)
pfcount key [key.......]

3.合并多個hyperloglog
pfmerge destkey sourcekey [sourcekey.....]

pfadd key1 1 2 3 4
# 返回1 代表添加正常

pfcount key1 
# 返回?cái)?shù)量 4

pfadd key2 4 5 6 7
# 返回 1

pfmerge key3 key1 key2
# 返回7 (1,2,3,4,5,6,7  重復(fù)的值只保留一個)

注意:計(jì)算錯誤率0.81%,但對于很大的值來說存在誤差一般是可以接受的

六 GEO(3.2版本以上)

存儲經(jīng)緯度,計(jì)算兩地距離戳寸,范圍等

API

1.增加地理位置信息
返回1 表示添加成功
geo key longitude latitude member [longitude latitude member...]

geoadd city:location 116.28 39.55 beijing

2.獲取地理位置信息
返回值是精度和緯度
geopos key member [member...]

geopos city:location beijing

3.獲取兩個地理位置的距離
geolist key member1 member2 [unit]
返回值 距離

unit: m呈驶、km、mi(英里)疫鹊、ft(尺)

geolist city:location beijing tianjin km

4.算出指定范圍內(nèi)的member(通過經(jīng)緯度)
georadius key longitude latitude unit [withcoord] [withdist] [withhash] [COUNT count] [asc|desc] [store key] [storedist key]

5..算出指定范圍內(nèi)的member(通過一個member)
georadiusbymember key member unit [withcoord] [withdist] [withhash] [COUNT count] [asc|desc] [store key] [storedist key]

withcoord:返回結(jié)果中包含經(jīng)緯度
withdist:返回結(jié)果中包含中心節(jié)點(diǎn)位置
withhash:返回結(jié)果中包含geohash
COUNT count:指定返回結(jié)果的數(shù)量
asc|desc:返回結(jié)果按照距離中心節(jié)點(diǎn)的距離做升序或者降序
store key:將結(jié)果地理位置信息保存到指定鍵
storedist key:將返回結(jié)果距離中心節(jié)點(diǎn)的距離保存到指定鍵

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末袖瞻,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子拆吆,更是在濱河造成了極大的恐慌虏辫,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,029評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件锈拨,死亡現(xiàn)場離奇詭異,居然都是意外死亡羹唠,警方通過查閱死者的電腦和手機(jī)奕枢,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,395評論 3 385
  • 文/潘曉璐 我一進(jìn)店門娄昆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人缝彬,你說我怎么就攤上這事萌焰。” “怎么了谷浅?”我有些...
    開封第一講書人閱讀 157,570評論 0 348
  • 文/不壞的土叔 我叫張陵扒俯,是天一觀的道長。 經(jīng)常有香客問我一疯,道長撼玄,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,535評論 1 284
  • 正文 為了忘掉前任墩邀,我火速辦了婚禮掌猛,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘眉睹。我一直安慰自己荔茬,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,650評論 6 386
  • 文/花漫 我一把揭開白布竹海。 她就那樣靜靜地躺著慕蔚,像睡著了一般。 火紅的嫁衣襯著肌膚如雪斋配。 梳的紋絲不亂的頭發(fā)上孔飒,一...
    開封第一講書人閱讀 49,850評論 1 290
  • 那天,我揣著相機(jī)與錄音许起,去河邊找鬼十偶。 笑死,一個胖子當(dāng)著我的面吹牛园细,可吹牛的內(nèi)容都是我干的惦积。 我是一名探鬼主播,決...
    沈念sama閱讀 39,006評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼猛频,長吁一口氣:“原來是場噩夢啊……” “哼狮崩!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起鹿寻,我...
    開封第一講書人閱讀 37,747評論 0 268
  • 序言:老撾萬榮一對情侶失蹤睦柴,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后毡熏,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體坦敌,經(jīng)...
    沈念sama閱讀 44,207評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,536評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了狱窘。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片杜顺。...
    茶點(diǎn)故事閱讀 38,683評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖蘸炸,靈堂內(nèi)的尸體忽然破棺而出躬络,到底是詐尸還是另有隱情,我是刑警寧澤搭儒,帶...
    沈念sama閱讀 34,342評論 4 330
  • 正文 年R本政府宣布穷当,位于F島的核電站,受9級特大地震影響淹禾,放射性物質(zhì)發(fā)生泄漏馁菜。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,964評論 3 315
  • 文/蒙蒙 一稀拐、第九天 我趴在偏房一處隱蔽的房頂上張望火邓。 院中可真熱鬧,春花似錦德撬、人聲如沸铲咨。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,772評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽纤勒。三九已至,卻和暖如春隆檀,著一層夾襖步出監(jiān)牢的瞬間摇天,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,004評論 1 266
  • 我被黑心中介騙來泰國打工恐仑, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留泉坐,地道東北人。 一個月前我還...
    沈念sama閱讀 46,401評論 2 360
  • 正文 我出身青樓裳仆,卻偏偏與公主長得像腕让,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子歧斟,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,566評論 2 349