rediså¼åäºä¸ç§æ°çæ°æ®åå¨æè·¯ï¼ä½¿ç¨redisï¼æ们ä¸ç¨å¨é¢å¯¹åè½åè°çæ°æ®åºæ¶ï¼æç²¾åæ¾å¨å¦ä½æ大象æ¾è¿å°ç®±è¿æ ·çé®é¢ä¸ï¼èæ¯å©ç¨redisçµæ´»å¤åçæ°æ®ç»æåæ°æ®æä½ï¼ä¸ºä¸åç大象æ建ä¸åçå°ç®±ã
redis常ç¨æ°æ®ç±»å
redisæ为常ç¨çæ°æ®ç±»å主è¦æ以ä¸äºç§ï¼
string
hash
list
set
sorted set
å¨å
·ä½æè¿°è¿å ç§æ°æ®ç±»åä¹åï¼æ们å
éè¿ä¸å¼ å¾äºè§£ä¸rediså
é¨å
å管çä¸æ¯å¦ä½æè¿°è¿äºä¸åæ°æ®ç±»åçï¼
é¦å
rediså
é¨ä½¿ç¨ä¸ä¸ªredisobject对象æ¥è¡¨ç¤ºææçkeyåvalue,redisobjectæ主è¦çä¿¡æ¯å¦ä¸å¾æ示ï¼type代表ä¸
个value对象å
·ä½æ¯ä½ç§æ°æ®ç±»åï¼encodingæ¯ä¸åæ°æ®ç±»åå¨rediså
é¨çåå¨æ¹å¼ï¼æ¯å¦ï¼type=string代表valueåå¨çæ¯
ä¸ä¸ªæ®éå符串ï¼é£ä¹å¯¹åºçencodingå¯ä»¥æ¯rawæè
æ¯int,å¦ææ¯intå代表å®é
rediså
é¨æ¯ææ°å¼åç±»åå¨å表示è¿ä¸ªå符串çï¼å½ç¶
åææ¯è¿ä¸ªå符串æ¬èº«å¯ä»¥ç¨æ°å¼è¡¨ç¤ºï¼æ¯å¦:"123"
"456"è¿æ ·çå符串ã
è¿ééè¦ç¹æ®è¯´æä¸ä¸vmå段ï¼åªææå¼äºredisçèæå
ååè½ï¼æ¤å段æä¼çæ£çåé
å
åï¼è¯¥åè½é»è®¤æ¯å
³éç¶æçï¼è¯¥åè½ä¼å¨åé¢å
·ä½æè¿°ãéè¿
ä¸å¾æ们å¯ä»¥åç°redis使ç¨redisobjectæ¥è¡¨ç¤ºææçkey/valueæ°æ®æ¯æ¯è¾æµªè´¹å
åçï¼å½ç¶è¿äºå
å管çææ¬çä»åºä¸»è¦ä¹æ¯ä¸ºäºç»
redisä¸åæ°æ®ç±»åæä¾ä¸ä¸ªç»ä¸ç管çæ¥å£ï¼å®é
ä½è
ä¹æä¾äºå¤ç§æ¹æ³å¸®å©æ们尽éèçå
å使ç¨ï¼æ们éåä¼å
·ä½è®¨è®ºã
ä¸é¢æ们å
æ¥éä¸çåæä¸è¿äºç§æ°æ®ç±»åç使ç¨åå
é¨å®ç°æ¹å¼ï¼
string
常ç¨å½ä»¤ï¼
set,get,decr,incr,mget çã
åºç¨åºæ¯ï¼
stringæ¯æ常ç¨çä¸ç§æ°æ®ç±»åï¼æ®éçkey/valueåå¨é½å¯ä»¥å½ä¸ºæ¤ç±»ï¼è¿éå°±ä¸æå解éäºã
å®ç°æ¹å¼ï¼
stringå¨rediså
é¨åå¨é»è®¤å°±æ¯ä¸ä¸ªå符串ï¼è¢«redisobjectæå¼ç¨ï¼å½éå°incr,decrçæä½æ¶ä¼è½¬ææ°å¼åè¿è¡è®¡ç®ï¼æ¤æ¶redisobjectçencodingå段为intã
hash
常ç¨å½ä»¤ï¼
hget,hset,hgetall çã
åºç¨åºæ¯ï¼
æ们ç®å举个å®ä¾æ¥æè¿°ä¸hashçåºç¨åºæ¯ï¼æ¯å¦æ们è¦åå¨ä¸ä¸ªç¨æ·ä¿¡æ¯å¯¹è±¡æ°æ®ï¼å
å«ä»¥ä¸ä¿¡æ¯ï¼
ç¨æ·id为æ¥æ¾çkeyï¼åå¨çvalueç¨æ·å¯¹è±¡å
å«å§åï¼å¹´é¾ï¼çæ¥çä¿¡æ¯ï¼å¦æç¨æ®éçkey/valueç»ææ¥åå¨ï¼ä¸»è¦æ以ä¸2ç§åå¨æ¹å¼ï¼
第ä¸ç§æ¹å¼å°ç¨æ·idä½ä¸ºæ¥æ¾key,æå
¶ä»ä¿¡æ¯å°è£
æä¸ä¸ªå¯¹è±¡ä»¥åºååçæ¹å¼åå¨ï¼è¿ç§æ¹å¼ç缺ç¹æ¯ï¼å¢å äºåºåå/ååºååçå¼éï¼å¹¶ä¸å¨éè¦ä¿®æ¹å
¶ä¸ä¸é¡¹ä¿¡æ¯æ¶ï¼éè¦ææ´ä¸ªå¯¹è±¡ååï¼å¹¶ä¸ä¿®æ¹æä½éè¦å¯¹å¹¶åè¿è¡ä¿æ¤ï¼å¼å
¥casçå¤æé®é¢ã
第äºç§æ¹æ³æ¯è¿ä¸ªç¨æ·ä¿¡æ¯å¯¹è±¡æå¤å°æåå°±åæå¤å°ä¸ªkey-value对å¿ï¼ç¨ç¨æ·id+对åºå±æ§çå称ä½ä¸ºå¯ä¸æ è¯æ¥åå¾å¯¹åºå±æ§çå¼ï¼è½ç¶çå»äºåºååå¼éå并åé®é¢ï¼ä½æ¯ç¨æ·id为éå¤åå¨ï¼å¦æåå¨å¤§éè¿æ ·çæ°æ®ï¼å
å浪费è¿æ¯é常å¯è§çã
é£ä¹redisæä¾çhashå¾å¥½ç解å³äºè¿ä¸ªé®é¢ï¼redisçhashå®é
æ¯å
é¨åå¨çvalue为ä¸ä¸ªhashmapï¼å¹¶æä¾äºç´æ¥ååè¿ä¸ªmapæåçæ¥å£ï¼å¦ä¸å¾ï¼
ä¹å°±æ¯è¯´ï¼keyä»ç¶æ¯ç¨æ·id,
valueæ¯ä¸ä¸ªmapï¼è¿ä¸ªmapçkeyæ¯æåçå±æ§åï¼valueæ¯å±æ§å¼ï¼è¿æ ·å¯¹æ°æ®çä¿®æ¹åååé½å¯ä»¥ç´æ¥éè¿å
¶å
é¨mapçkey(redisé称å
é¨mapçkey为field),
ä¹å°±æ¯éè¿ key(ç¨æ·id) + field(å±æ§æ ç¾)
å°±å¯ä»¥æä½å¯¹åºå±æ§æ°æ®äºï¼æ¢ä¸éè¦éå¤åå¨æ°æ®ï¼ä¹ä¸ä¼å¸¦æ¥åºååå并åä¿®æ¹æ§å¶çé®é¢ãå¾å¥½ç解å³äºé®é¢ã
è¿éåæ¶éè¦æ³¨æï¼redisæä¾äºæ¥å£(hgetall)å¯ä»¥ç´æ¥åå°å
¨é¨çå±æ§æ°æ®,ä½æ¯å¦æå
é¨mapçæåå¾å¤ï¼é£ä¹æ¶åå°éåæ´ä¸ªå
é¨mapç
æä½ï¼ç±äºrediså线ç¨æ¨¡åçç¼æ
ï¼è¿ä¸ªéåæä½å¯è½ä¼æ¯è¾èæ¶ï¼èå¦å
¶å®å®¢æ·ç«¯ç请æ±å®å
¨ä¸ååºï¼è¿ç¹éè¦æ ¼å¤æ³¨æã
å®ç°æ¹å¼ï¼
ä¸é¢å·²ç»è¯´å°redis
hash对åºvalueå
é¨å®é
å°±æ¯ä¸ä¸ªhashmapï¼å®é
è¿éä¼æ2ç§ä¸åå®ç°ï¼è¿ä¸ªhashçæåæ¯è¾å°æ¶redis为äºèçå
åä¼éç¨ç±»ä¼¼ä¸ç»´æ°ç»çæ¹å¼æ¥ç´§ååå¨ï¼èä¸ä¼éç¨çæ£çhashmapç»æï¼å¯¹åºçvalue
redisobjectçencoding为zipmap,å½æåæ°éå¢å¤§æ¶ä¼èªå¨è½¬æçæ£çhashmap,æ¤æ¶encoding为htã
list
常ç¨å½ä»¤ï¼
lpush,rpush,lpop,rpop,lrangeçã
åºç¨åºæ¯ï¼
redis
listçåºç¨åºæ¯é常å¤ï¼ä¹æ¯redisæéè¦çæ°æ®ç»æä¹ä¸ï¼æ¯å¦twitterçå
³æ³¨å表ï¼ç²ä¸å表çé½å¯ä»¥ç¨redisçlistç»ææ¥å®ç°ï¼æ¯è¾å¥½ç解ï¼è¿éä¸åéå¤ã
å®ç°æ¹å¼ï¼
redis
listçå®ç°ä¸ºä¸ä¸ªååé¾è¡¨ï¼å³å¯ä»¥æ¯æååæ¥æ¾åéåï¼æ´æ¹ä¾¿æä½ï¼ä¸è¿å¸¦æ¥äºé¨åé¢å¤çå
åå¼éï¼rediså
é¨çå¾å¤å®ç°ï¼å
æ¬åéç¼å²éåçä¹é½æ¯ç¨çè¿ä¸ªæ°æ®ç»æã
set
常ç¨å½ä»¤ï¼
sadd,spop,smembers,sunion çã
åºç¨åºæ¯ï¼
redis
set对å¤æä¾çåè½ä¸list类似æ¯ä¸ä¸ªå表çåè½ï¼ç¹æ®ä¹å¤å¨äºsetæ¯å¯ä»¥èªå¨æéçï¼å½ä½ éè¦åå¨ä¸ä¸ªå表æ°æ®ï¼åä¸å¸æåºç°éå¤æ°æ®æ¶ï¼setæ¯ä¸ä¸ªå¾å¥½çéæ©ï¼å¹¶ä¸setæä¾äºå¤ææ个æåæ¯å¦å¨ä¸ä¸ªsetéåå
çéè¦æ¥å£ï¼è¿ä¸ªä¹æ¯listæä¸è½æä¾çã
å®ç°æ¹å¼ï¼
set çå
é¨å®ç°æ¯ä¸ä¸ª
valueæ°¸è¿ä¸ºnullçhashmapï¼å®é
å°±æ¯éè¿è®¡ç®hashçæ¹å¼æ¥å¿«éæéçï¼è¿ä¹æ¯setè½æä¾å¤æä¸ä¸ªæåæ¯å¦å¨éåå
çåå ã
sorted set
常ç¨å½ä»¤ï¼
zadd,zrange,zrem,zcardç
使ç¨åºæ¯ï¼
redis sorted setç使ç¨åºæ¯ä¸set类似ï¼åºå«æ¯setä¸æ¯èªå¨æåºçï¼èsorted
setå¯ä»¥éè¿ç¨æ·é¢å¤æä¾ä¸ä¸ªä¼å
级(score)çåæ°æ¥ä¸ºæåæåºï¼å¹¶ä¸æ¯æå
¥æåºçï¼å³èªå¨æåºãå½ä½ éè¦ä¸ä¸ªæåºç并ä¸ä¸éå¤çéåå表ï¼é£ä¹å¯ä»¥éæ©sorted
setæ°æ®ç»æï¼æ¯å¦twitter çpublic
温馨提示:答案为网友推荐,仅供参考