99re热这里只有精品视频,7777色鬼xxxx欧美色妇,国产成人精品一区二三区在线观看,内射爽无广熟女亚洲,精品人妻av一区二区三区

pika支持的redis接口及兼容情況

2018-09-26 11:07 更新

pika當(dāng)前支持的redis接口 pika支持redis五種類型(分別為string、hash、list、set、zset)的接口,先列出其對redis的五種數(shù)據(jù)結(jié)構(gòu)兼容統(tǒng)計。

統(tǒng)計所用的標(biāo)記含義如下:

圖標(biāo)含義
o該接口完全支持,使用方式與redis沒有任何區(qū)別
!功能支持,但使用或輸出與redis有部分差異,需注意
×當(dāng)前還未支持

string

接口setgetdelexistsexpireexpireatpersistttlappend
狀態(tài)ooooooooo
接口decrdecrbygetrangegetsetincrincrbyincrbyfloatmgetmset
狀態(tài)ooooooooo
接口setexsetnxsetrangestrlenpexpirepexpireatpttlrenamerenamenx
狀態(tài)oooo!!oxx
接口bitopgetbitpsetexsetbitdumpkeysmigratemoveobject
狀態(tài)!!x!xoxxx
接口scanrestoresorttypebitpospfaddpfcountpfmerge
狀態(tài)!xx!!ooo

備注:

  • pexpire:無法精確到毫秒,底層會自動截斷按秒級別進(jìn)行處理;
  • pexpireat:無法精確到毫秒,底層會自動截斷按秒級別進(jìn)行處理;
  • scan:會順序迭代當(dāng)前db的快照,由于pika允許重名五次,所以scan有優(yōu)先輸出順序,依次為:string -> hash -> list -> zset -> set;
  • type:另外由于pika允許重名五次,所以type有優(yōu)先輸出順序,依次為:string -> hash -> list -> zset -> set,如果這個key在string中存在,那么只輸出sting,如果不存在,那么則輸出hash的,依次類推。
  • bit操作:與redis不同,pika的bit操作范圍為2^18

hash

接口hdelhexistshgethgetallhincrbyhincrbyfloathkeyshlenhmgethmset
狀態(tài)oooooooooo
接口hsethsetnxhvalshscanhstrlen
狀態(tài)ooooo

list

接口lindexlinsertllenlpoplpushlpushxlrangelremlsetltrim
狀態(tài)oooooooooo
接口rpoprpoplpushrpushrpushblpopbrpopbrpoplpush
狀態(tài)ooooxxx

set

接口saddscardsdiffsdiffstoresintersinterstoresismembersmemberssmovespop
狀態(tài)oooooooooo
接口srandmembersremsunionsunionstoresscan
狀態(tài)!oooo

備注:

  • srandmember:時間復(fù)雜度O( n ),耗時較多

zset

接口zaddzcardzcountzincrbyzrangezrangebyscorezrankzremzremrangebyrankzremrangebyscore
狀態(tài)oooooooooo
接口zrevrangezrevrangebyscorezrevrankzscorezunionstorezinterstorezscanzrangebylexzlexcountzremrangebylex
狀態(tài)ooo!oooooo

備注:

  • zscore:目前支持的數(shù)據(jù)范圍是[-10^13, 10^13]。精度支持10e-5(小數(shù)點(diǎn)后5位),小于Redis的數(shù)據(jù)范圍;

hyperloglog

接口pfaddpfcountpfmerge
狀態(tài)ooo

備注:

  • 50w以內(nèi)誤差均小于1%, 100w以內(nèi)誤差小于3%, 但付出了時間代價.

geo

geoaddgeodistgeohashgeoposgeoradiusgeoradiusbymember
狀態(tài)oooooo

備注:

  • GEO實(shí)現(xiàn)依賴zset數(shù)據(jù)結(jié)構(gòu), 所以HASH位數(shù)只有13位, 較Redis精度有所差距.
  • georadius和georadiusbymember默認(rèn)輸出是無序的.

管理命令(這里僅列出pika兼容的)

接口infoconfigclientpingbgsaveshutdownselect
狀態(tài)!!!ooo!

備注:

  • info:info支持全部輸出,也支持匹配形式的輸出,例如可以通過info stats查看狀態(tài)信息,需要注意的是key space與redis不同,pika對于key space的展示選擇了分類型展示而非redis的分庫展示(因?yàn)閜ika沒有庫),pika對于key space的統(tǒng)計是被動的,需要手動觸發(fā),然后pika會在后臺進(jìn)行統(tǒng)計,pika的key space統(tǒng)計是精確的。觸發(fā)方式為執(zhí)行:keyspace命令即可,然后pika會在后臺統(tǒng)計,此時可以使用:keyspace readonly命令來進(jìn)行查看,readonly參數(shù)可以避免反復(fù)進(jìn)行統(tǒng)計,如果當(dāng)前數(shù)據(jù)為0,則證明還在統(tǒng)計中;
  • config:當(dāng)前config僅僅支持個別參數(shù)的get、set,不支持rewrite;
  • client:當(dāng)前client命令支持client list及client kill,client list顯示的內(nèi)容少于redis;
  • select:該命令為擺設(shè),可以執(zhí)行,會返回成功,但無任何效果。

重要說明

  • 重名問題:由于pika每個類型獨(dú)立運(yùn)作, 所以允許重名。例如在key abc在string中存在的時候也同樣允許在hash中存在,一個key最多重名5次(5大類型),但在同一接口中是無法重名的。所以建議在使用的時候?qū)τ诓煌愋筒灰褂猛耆嗤膋ey;
  • 長度問題:pika kv的key value長度沒有限制,其他數(shù)據(jù)結(jié)構(gòu)hash zset set list 的key長度限制255, value沒有限制。
  • 分庫問題:pika不支持redis的多個庫功能(db0,db1,db2),對于pika只有一個庫,也就是db0,select命令在pika中可以執(zhí)行,但實(shí)際上沒有任何效果。
  • 數(shù)據(jù)展示:pika對于keyspace的展示選擇了分類型展示而非redis的分庫展示(因?yàn)閜ika沒有分庫概念),pika對于keyspace的統(tǒng)計是被動的,需要手動觸發(fā)并不會立即輸出,命令為:info keyspace [ 0|1 ],默認(rèn)為0不觸發(fā),pika的keyspace統(tǒng)計是精確的。
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號