發(fā)布時(shí)間:2023-05-05 10:23:51
稿源:
創(chuàng)意嶺 閱讀:
725
大家好!今天讓創(chuàng)意嶺的小編來大家介紹下關(guān)于redis十大排名的問題,以下是小編對(duì)此問題的歸納整理,讓我們一起來看看吧。z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
創(chuàng)意嶺作為行業(yè)內(nèi)優(yōu)秀的企業(yè),服務(wù)客戶遍布全球各地,相關(guān)業(yè)務(wù)請(qǐng)撥打電話:175-8598-2043,或添加微信:1454722008z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
本文目錄:z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
一、redis中zset怎么放值取值代碼z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
向名稱為key的zset中添加元素member,score用于排序,如果元素存在,則更新順序:z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
zaddz1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
刪除名稱為key的zset中的元素member:z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
zremz1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
如果在名稱為key的zset中已經(jīng)存在元素member,則該元素的score增加incrementz1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
否則向該集合中添加該元素,其score的值為incrementz1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
zincrby #更新序列號(hào)z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
返回名稱為key的zset中member元素的排名(按score從小到大排列)即下標(biāo):z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
zrank #先排序后返回下標(biāo)(不是序號(hào))z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
返回名稱為key的zset中member元素的排名(按score從大到小排序)即下標(biāo):z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
zrevrank #先排序后返回下標(biāo)(不是序號(hào))z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
返回名稱為key的zset(按score從大到小順序)中的index從start到end的所有元素:z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
zrevrange #從大到小排序z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
返回集合中score在給定區(qū)間的元素:z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
zrangebyscore #顯示范圍的元素z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
返回集合中score在給定區(qū)間的數(shù)量:z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
zcountz1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
返回集合中元素個(gè)數(shù):z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
zcardz1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
刪除集合中排名在給定區(qū)間的元素:z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
zremrangebyrank #按索引的范圍來刪除z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
刪除集合中score在給定區(qū)間的元素:z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
zremrangebyscore #按順序(索引號(hào))刪除 范圍
z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
二、面試碰到分布式技術(shù)面試題該怎么解答?z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
1.1. Redis 有什么數(shù)據(jù)類型?分別用于什么場(chǎng)景?z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
數(shù)據(jù)類型可以存儲(chǔ)的值操作STRING字符串、整數(shù)或者浮點(diǎn)數(shù)對(duì)整個(gè)字符串或者字符串的其中一部分執(zhí)行操作z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
對(duì)整數(shù)和浮點(diǎn)數(shù)執(zhí)行自增或者自減操作LIST列表從兩端壓入或者彈出元素z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
讀取單個(gè)或者多個(gè)元素z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
進(jìn)行修剪,只保留一個(gè)范圍內(nèi)的元素SET無序集合添加、獲取、移除單個(gè)元素z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
檢查一個(gè)元素是否存在于集合中z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
計(jì)算交集、并集、差集z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
從集合里面隨機(jī)獲取元素HASH包含鍵值對(duì)的無序散列表添加、獲取、移除單個(gè)鍵值對(duì)z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
獲取所有鍵值對(duì)z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
檢查某個(gè)鍵是否存在ZSET有序集合添加、獲取、刪除元素z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
根據(jù)分值范圍或者成員來獲取元素z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
計(jì)算一個(gè)鍵的排名z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
What Redis data structures look likez1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
1.2. Redis 的主從復(fù)制是如何實(shí)現(xiàn)的?z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
從服務(wù)器連接主服務(wù)器,發(fā)送 SYNC 命令;z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
主服務(wù)器接收到 SYNC 命名后,開始執(zhí)行 BGSAVE 命令生成 RDB 文件并使用緩沖區(qū)記錄此后執(zhí)行的所有寫命令;z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
主服務(wù)器 BGSAVE 執(zhí)行完后,向所有從服務(wù)器發(fā)送快照文件,并在發(fā)送期間繼續(xù)記錄被執(zhí)行的寫命令;z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
從服務(wù)器收到快照文件后丟棄所有舊數(shù)據(jù),載入收到的快照;z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
主服務(wù)器快照發(fā)送完畢后開始向從服務(wù)器發(fā)送緩沖區(qū)中的寫命令;z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
從服務(wù)器完成對(duì)快照的載入,開始接收命令請(qǐng)求,并執(zhí)行來自主服務(wù)器緩沖區(qū)的寫命令;z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
1.3. Redis 的 key 是如何尋址的?z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
背景z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
(1)redis 中的每一個(gè)數(shù)據(jù)庫,都由一個(gè) redisDb 的結(jié)構(gòu)存儲(chǔ)。其中:z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
redisDb.id 存儲(chǔ)著 redis 數(shù)據(jù)庫以整數(shù)表示的號(hào)碼。z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
redisDb.dict 存儲(chǔ)著該庫所有的鍵值對(duì)數(shù)據(jù)。z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
redisDb.expires 保存著每一個(gè)鍵的過期時(shí)間。z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
(2)當(dāng) redis 服務(wù)器初始化時(shí),會(huì)預(yù)先分配 16 個(gè)數(shù)據(jù)庫(該數(shù)量可以通過配置文件配置),所有數(shù)據(jù)庫保存到結(jié)構(gòu) redisServer 的一個(gè)成員 redisServer.db 數(shù)組中。當(dāng)我們選擇數(shù)據(jù)庫 select number 時(shí),程序直接通過 redisServer.db[number] 來切換數(shù)據(jù)庫。有時(shí)候當(dāng)程序需要知道自己是在哪個(gè)數(shù)據(jù)庫時(shí),直接讀取 redisDb.id 即可。z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
(3)redis 的字典使用哈希表作為其底層實(shí)現(xiàn)。dict 類型使用的兩個(gè)指向哈希表的指針,其中 0 號(hào)哈希表(ht[0])主要用于存儲(chǔ)數(shù)據(jù)庫的所有鍵值,而 1 號(hào)哈希表主要用于程序?qū)?0 號(hào)哈希表進(jìn)行 rehash 時(shí)使用,rehash 一般是在添加新值時(shí)會(huì)觸發(fā),這里不做過多的贅述。所以 redis 中查找一個(gè) key,其實(shí)就是對(duì)進(jìn)行該 dict 結(jié)構(gòu)中的 ht[0] 進(jìn)行查找操作。z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
(4)既然是哈希,那么我們知道就會(huì)有哈希碰撞,那么當(dāng)多個(gè)鍵哈希之后為同一個(gè)值怎么辦呢?redis 采取鏈表的方式來存儲(chǔ)多個(gè)哈希碰撞的鍵。也就是說,當(dāng)根據(jù) key 的哈希值找到該列表后,如果列表的長度大于 1,那么我們需要遍歷該鏈表來找到我們所查找的 key。當(dāng)然,一般情況下鏈表長度都為是 1,所以時(shí)間復(fù)雜度可看作 o(1)。z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
尋址 key 的步驟z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
當(dāng)拿到一個(gè) key 后,redis 先判斷當(dāng)前庫的 0 號(hào)哈希表是否為空,即:if (dict->ht[0].size == 0)。如果為 true 直接返回 NULL。z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
判斷該 0 號(hào)哈希表是否需要 rehash,因?yàn)槿绻谶M(jìn)行 rehash,那么兩個(gè)表中者有可能存儲(chǔ)該 key。如果正在進(jìn)行 rehash,將調(diào)用一次_dictRehashStep 方法,_dictRehashStep 用于對(duì)數(shù)據(jù)庫字典、以及哈希鍵的字典進(jìn)行被動(dòng) rehash,這里不作贅述。z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
計(jì)算哈希表,根據(jù)當(dāng)前字典與 key 進(jìn)行哈希值的計(jì)算。z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
根據(jù)哈希值與當(dāng)前字典計(jì)算哈希表的索引值。z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
根據(jù)索引值在哈希表中取出鏈表,遍歷該鏈表找到 key 的位置。一般情況,該鏈表長度為 1。z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
當(dāng) ht[0] 查找完了之后,再進(jìn)行了次 rehash 判斷,如果未在 rehashing,則直接結(jié)束,否則對(duì) ht[1]重復(fù) 345 步驟。z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
1.4. Redis 的集群模式是如何實(shí)現(xiàn)的?z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
Redis Cluster 是 Redis 的分布式解決方案,在 Redis 3.0 版本正式推出的。z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
Redis Cluster 去中心化,每個(gè)節(jié)點(diǎn)保存數(shù)據(jù)和整個(gè)集群狀態(tài),每個(gè)節(jié)點(diǎn)都和其他所有節(jié)點(diǎn)連接。z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
Redis Cluster 節(jié)點(diǎn)分配z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
Redis Cluster 特點(diǎn):z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
所有的 redis 節(jié)點(diǎn)彼此互聯(lián)(PING-PONG 機(jī)制),內(nèi)部使用二進(jìn)制協(xié)議優(yōu)化傳輸速度和帶寬。z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
節(jié)點(diǎn)的 fail 是通過集群中超過半數(shù)的節(jié)點(diǎn)檢測(cè)失效時(shí)才生效。z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
客戶端與 redis 節(jié)點(diǎn)直連,不需要中間 proxy 層??蛻舳瞬恍枰B接集群所有節(jié)點(diǎn),連接集群中任何一個(gè)可用節(jié)點(diǎn)即可。z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
redis-cluster 把所有的物理節(jié)點(diǎn)映射到[0-16383] 哈希槽 (hash slot)上(不一定是平均分配),cluster 負(fù)責(zé)維護(hù) node、slot、value。z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
Redis 集群預(yù)分好 16384 個(gè)桶,當(dāng)需要在 Redis 集群中放置一個(gè) key-value 時(shí),根據(jù) CRC16(key) mod 16384 的值,決定將一個(gè) key 放到哪個(gè)桶中。z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
轉(zhuǎn)自:葡萄皮吃飽了z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
三、列表數(shù)據(jù) redis用什么類型z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
1.strings(字符串)z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
a)如果只使用redis中的字符串類型,且不使用redis的持久化功能,那么,redis就和memcache非常非常的像了;z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
b)在遇到數(shù)值操作時(shí),會(huì)自動(dòng)轉(zhuǎn)換過為字符串,如寫入數(shù)字1,讀出來將是字符串1;z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
c)本身具有原子性的指令:incr、decr和Memecached中increment、decrement類似;z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
d)應(yīng)用場(chǎng)景:常規(guī)計(jì)數(shù)-微博數(shù),粉絲數(shù);z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
2.lists(列表)z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
a)lists數(shù)據(jù)類型的實(shí)現(xiàn)不是數(shù)組而是通過鏈表這種數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn);z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
b)使用Lists結(jié)構(gòu),我們可以輕松地實(shí)現(xiàn)最新消息排行等功能。Lists的另一個(gè)應(yīng)用就是消息隊(duì)列,可以利用Lists的PUSH操作,將任務(wù)存在Lists中,然后工作線程再用POP操作將任務(wù)取出進(jìn)行執(zhí)行;z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
c)每個(gè)子元素都是String類型的雙向鏈表,可以通過push和pop操作從列表的頭部或者尾部添加或者刪除元素,這樣List即可以作為棧,也可以作為隊(duì)列;z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
3.sets(無序集合)z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
a)所謂集合就是一堆不重復(fù)值的組合,并且是沒有順序的;z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
b)在微博應(yīng)用中,可以將一個(gè)用戶所有的關(guān)注人存在一個(gè)集合中,將其所有粉絲存在一個(gè)集合。Redis還為集合提供了求交集、并集、差集等操作,可以非常方便的實(shí)現(xiàn)如共同關(guān)注、共同喜好、二度好友等功能,對(duì)上面的所有集合操作,你還可以使用不同的命令選擇將結(jié)果返回給客戶端還是存集到一個(gè)新的集合中。z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
4.sorted sets(有序集合)z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
a)和Sets相比,Sorted Sets增加了一個(gè)權(quán)重參數(shù)score,使得集合中的元素能夠按score進(jìn)行有序排列;z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
b)比如一個(gè)存儲(chǔ)全班同學(xué)成績的Sorted Sets,其集合value可以是同學(xué)的學(xué)號(hào),而score就可以是其考試得分,這樣在數(shù)據(jù)插入集合的時(shí)候,就已經(jīng)進(jìn)行了天然的排序。可以用Sorted Sets來做帶權(quán)重的隊(duì)列,比如普通消息的score為1,重要消息的score為2,然后工作線程可以選擇按score的倒序來獲取工作任務(wù)。讓重要的任務(wù)優(yōu)先執(zhí)行。z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
c)應(yīng)用場(chǎng)景:在線游戲的排行榜,根據(jù)得分你通常想要:z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
i.列出前100名高分選手z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
ii.列出某用戶當(dāng)前的全球排名z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
5.hashes(哈希)z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
a)在Memcached中,我們經(jīng)常將一些結(jié)構(gòu)化的信息打包成hashmap,在客戶端序列化后存儲(chǔ)為一個(gè)字符串的值,比如用戶的昵稱、年齡、性別、積分等,這時(shí)候在需要修改其中某一項(xiàng)時(shí),通常需要將所有值取出反序列化后,修改某一項(xiàng)的值,再序列化存儲(chǔ)回去。這樣不僅增大了開銷,也不適用于一些可能并發(fā)操作的場(chǎng)合(比如兩個(gè)并發(fā)的操作都需要修改積分)。而Redis的Hash結(jié)構(gòu)可以使你像在數(shù)據(jù)庫中Update一個(gè)屬性一樣只修改某一項(xiàng)屬性值。z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
b)應(yīng)用場(chǎng)景:存儲(chǔ)部分變更數(shù)據(jù),如用戶信息,session共享;
z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
四、redis 有序集合元素是否存在某個(gè)元素z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
zrank 返回有序集中指定成員的排名。如果成員不是有序集 key 的成員,返回 nil 。z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
如果返回nil 表示不存在
z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
以上就是關(guān)于redis十大排名相關(guān)問題的回答。希望能幫到你,如有更多相關(guān)問題,您也可以聯(lián)系我們的客服進(jìn)行咨詢,客服也會(huì)為您講解更多精彩的知識(shí)和內(nèi)容。z1V創(chuàng)意嶺 - 安心托付、值得信賴的品牌設(shè)計(jì)、營銷策劃公司
推薦閱讀:
外貿(mào)建站wordpress(外貿(mào)建站與推廣)
怎么在wordpress上找作者(wordpress作者頁面)
wordpress百萬文章(wordpress 10萬文章)
室內(nèi)設(shè)計(jì)班需要學(xué)多久(室內(nèi)設(shè)計(jì)班需要學(xué)多久英語)
嘉興抖音代運(yùn)營土庫科技(寧波抖音代運(yùn)營土庫科技)