<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          《redis in action》redis事務(wù)和管道

          共 941字,需瀏覽 2分鐘

           ·

          2021-04-13 05:20

          在之前的文章中我們大概學(xué)習(xí)了redis的安全性,主要就是持久化和夸機(jī)備份。這里我們?cè)賮?lái)學(xué)習(xí)一下redis的安全和性能問題。這塊說(shuō)的性能問題主要就是說(shuō)客戶端與服務(wù)端的通信,而不是說(shuō)redis的服務(wù)器的機(jī)器的問題。
          我們?cè)谥皩W(xué)習(xí)了redis的事務(wù)(multi/exec),當(dāng)時(shí)我們說(shuō)redis事務(wù)是沒有原子性的,所有的命令都是先發(fā)送到服務(wù)端,然后緩存起來(lái),然后再執(zhí)行exec的時(shí)候才進(jìn)行統(tǒng)一執(zhí)行的,如果exec之前發(fā)生了錯(cuò)誤,那么所有提交的命令將不會(huì)被redis執(zhí)行。當(dāng)然如果如果命令執(zhí)行了一半之后報(bào)錯(cuò)了,那么已經(jīng)執(zhí)行的命令也不會(huì)發(fā)生回滾。而且我們當(dāng)時(shí)也說(shuō)過(guò)redis的事務(wù)是阻塞的,直到exec執(zhí)行完畢才能進(jìn)行其他客戶端發(fā)來(lái)的命令。那么redis事務(wù)的問題就是操作指令是一個(gè)個(gè)發(fā)到服務(wù)端,然后緩存,在客戶端調(diào)用exec的時(shí)候再進(jìn)行執(zhí)行。那么有沒有一種方式讓這些命令一次性發(fā)送到服務(wù)端,然后一起執(zhí)行?答案是有得。這就是傳說(shuō)中的管道。
          管道不是redis提供的命令,redis只是提供了事務(wù)相關(guān)的命令,管道是客戶端的行為。管道分為事務(wù)管道和非事務(wù)管道,事務(wù)管道就是在管道中進(jìn)行multi開啟事務(wù),非事務(wù)管道僅僅是批量執(zhí)行命令。因此性能就會(huì)有差別。通過(guò)實(shí)踐測(cè)試,使用管道比一般傳統(tǒng)模式效率高4-5倍,這塊和網(wǎng)絡(luò)有關(guān)系。
          了解了管道和事務(wù)的聯(lián)系,我們就知道我們?cè)陧?xiàng)目中應(yīng)該盡可能使用管道,尤其是命令比較多的時(shí)候,除此之外,對(duì)于一些具有并發(fā)特征的數(shù)據(jù)應(yīng)該采用事務(wù)管道,因?yàn)槭聞?wù)管道具有阻塞的功能,也就是串行。
          在關(guān)系型數(shù)據(jù)庫(kù)中事務(wù)都是采用加鎖的方式進(jìn)行的,redis并沒有采用那種鎖的方式,為什么這樣的原因是redis事務(wù)的時(shí)間是沒有限制的,也不知道前一個(gè)操作何時(shí)完成,redis不想讓客戶端等待,而是讓客戶端盡早知道。另外watch的樂觀鎖機(jī)制也是被動(dòng)的去監(jiān)聽,如果出現(xiàn)了變化,那么就盡早讓客戶端知道改變已經(jīng)發(fā)生,然后進(jìn)行相關(guān)的策略,一句話就是為了快。

          瀏覽 56
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  国产的内射| 亚洲无码AV在线亚洲有码AV在线精品 | 成人黄色电影伊人 | 操操操操操操操操操逼 | 免费视频爱爱 |