偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Redis4.0這個(gè)新特性,非常有用,你了解嗎?

數(shù)據(jù)庫(kù) 其他數(shù)據(jù)庫(kù) Redis
我們常說(shuō)Redis是單線程的服務(wù),單線程的好處非常明顯,首先是代碼邏輯更加簡(jiǎn)單,服務(wù)更加穩(wěn)定,但同時(shí),單線程也引來(lái)一些問(wèn)題,例如做一些非常重的操作的時(shí)候,其他的任務(wù)就會(huì)受到影響,有一些非常重要的操作,其實(shí)可以多線程來(lái)做,例如進(jìn)行數(shù)據(jù)的備份,或者刪除一個(gè)非常大的字典的時(shí)候......

我們常說(shuō)Redis是單線程的服務(wù),單線程的好處非常明顯,首先是代碼邏輯更加簡(jiǎn)單,服務(wù)更加穩(wěn)定,但同時(shí),單線程也引來(lái)一些問(wèn)題,例如做一些非常重的操作的時(shí)候,其他的任務(wù)就會(huì)受到影響,有一些非常重要的操作,其實(shí)可以多線程來(lái)做,例如進(jìn)行數(shù)據(jù)的備份,或者刪除一個(gè)非常大的字典的時(shí)候,同步做的意義并不是很大。

為了解決這個(gè)問(wèn)題,Redis還有一些異步線程進(jìn)行工作,讓Redis更加高效,我們稱之為L(zhǎng)azyfree機(jī)制。

 

[[274927]]

 

 

Redis懶惰刪除Unlink命令

在Redis命令中,提供了一個(gè)新的刪除命令,Unlink。其實(shí)在現(xiàn)實(shí)生活中,這種懶惰刪除在現(xiàn)實(shí)生活中非常的常見,例如飯店晚上要打烊的時(shí)候,并不會(huì)立馬趕走店里的客人,打掃衛(wèi)生,而是現(xiàn)在門口掛出打烊的標(biāo)識(shí),然后再在里面慢慢地收拾,Redis的Unlink命令也是如此。例如我們對(duì)一個(gè)字典執(zhí)行Unlink命令的執(zhí)行步驟如下:

  • 先從字典的條目中把這個(gè)key拿下
  • 獲取字典總共有多少個(gè)值
  • 如果個(gè)數(shù)較少,值執(zhí)行同步刪除,否則原子增加待惰性刪除的條目
  • 將字典提交給惰性刪除隊(duì)列
  • 返回刪除成功

 

[[274928]]

 

 

Redis清空數(shù)據(jù)庫(kù)異步化

我們都知道,如果我們要把整個(gè)Redis里面所有的數(shù)據(jù)刪除的話,也是非常需要時(shí)間的,同理,Redis的刪除命令也可以進(jìn)行異步化。當(dāng)執(zhí)行刪除命令的時(shí)候,Redis會(huì)把數(shù)據(jù)庫(kù)的字典指向新的字典,然后把舊的數(shù)據(jù)提交到異步的線程進(jìn)行處理。

Redis其他異步刪除

在此之前,我們介紹過(guò)Redis的一些內(nèi)存淘汰與過(guò)期的策略。例如Redis的過(guò)期策略有主動(dòng)刪除跟被動(dòng)刪除兩種不同的策略,Redis4.0為我們提供新的配置項(xiàng),可以在在刪除的時(shí)候開啟異步刪除。這里需要注意的是,并不是開啟一個(gè)線程去不停掃描那些key過(guò)期。

 

Redis4.0這個(gè)新特性,非常有用,你了解嗎?

 

 

總結(jié)

Redis的異步刪除,其實(shí)在我們?nèi)粘5拈_發(fā)中,也可以進(jìn)行借鑒。例如電商系統(tǒng)中,商家要給所有買過(guò)自己商品的用戶派發(fā)一張優(yōu)惠券,這個(gè)邏輯,非常地重,需要讀取用戶系統(tǒng)(例如需要讀取用戶的基本信息)、訂單系統(tǒng)(查詢用戶的訂單)、優(yōu)惠系統(tǒng)(查看優(yōu)惠券的數(shù)量跟優(yōu)惠券的詳情)、Push系統(tǒng)(推送用戶領(lǐng)到新的優(yōu)惠券了,可以查看了)等多個(gè)系統(tǒng),如果我們同步做,可能用戶點(diǎn)一次派發(fā)用券,要花好幾個(gè)小時(shí),而且可能伴隨著各種超時(shí),一般我們都是把這種需求這樣做,提供一個(gè)任務(wù)隊(duì)列,當(dāng)商家床架完任務(wù)的時(shí)候,就把任務(wù)丟到消息隊(duì)列里面,告訴商家說(shuō)任務(wù)提交成功,然后后臺(tái)再慢慢進(jìn)行優(yōu)惠券派發(fā),最后通知商家發(fā)送成功。

Redis,這個(gè)小而精的項(xiàng)目,有很多設(shè)計(jì)的思想值得學(xué)習(xí),歡迎大家關(guān)注我,共同學(xué)習(xí),共同進(jìn)步。大家的支持是我繼續(xù)嘮嗑的動(dòng)力。 

 

責(zé)任編輯:龐桂玉 來(lái)源: 今日頭條
相關(guān)推薦

2020-10-29 10:00:55

Python函數(shù)文件

2019-05-20 13:45:15

MySQL新特性數(shù)據(jù)庫(kù)

2012-03-01 09:15:41

HTML 5

2013-06-14 14:57:09

Java基礎(chǔ)代碼

2020-08-27 10:10:46

NodeJs 軟件Express

2023-02-19 15:22:22

React技巧

2009-03-24 14:23:59

PHP類庫(kù)PHP開發(fā)PHP

2011-04-06 14:08:14

jQuery

2011-07-07 17:16:43

PHP

2010-07-30 09:07:12

PHP函數(shù)

2017-08-02 13:32:18

編程Java程序片段

2021-10-30 18:59:15

Python

2023-06-13 15:15:02

JavaScript前端編程語(yǔ)言

2013-08-13 10:46:51

LinuxLinux命令

2018-08-03 10:02:05

Linux命令

2012-05-25 14:20:08

JavaScript

2022-09-02 23:08:04

JavaScript技巧開發(fā)

2023-11-02 11:55:37

工具網(wǎng)站開發(fā)

2009-08-10 18:16:33

ICustomQuer.NET 4.0

2013-08-12 15:00:24

LinuxLinux命令
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)