无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

Redis事物面試總結(jié),第一次分享說(shuō)的不好大家看文字吧

2023-02-16 00:00 作者:咸菜炒蝦  | 我要投稿

Redis事物和我們平時(shí)理解的關(guān)系型數(shù)據(jù)庫(kù)是不一樣的,Redis事物在運(yùn)行錯(cuò)誤的情況下,除了執(zhí)行過(guò)程中運(yùn)行錯(cuò)誤的命令之外,其他命令都可以正常執(zhí)行。Redis事物是不支持回滾的。不滿足原子操作,也就是說(shuō)在執(zhí)行多個(gè)命令時(shí)可以被其他命令插入。

Redis事物存在一些缺陷:

  1. 不滿足原子性;
  2. 雖然Redis事物可以將多個(gè)請(qǐng)求命令打包發(fā)給Redis服務(wù)器,但是發(fā)送的每個(gè)命令請(qǐng)求都會(huì)與Redis服務(wù)器進(jìn)行網(wǎng)絡(luò)交互,所以還是很浪費(fèi)資源的。

所以,在我們開(kāi)發(fā)過(guò)程中基本上很少使用Redis事物。

如何解決 Redis 事務(wù)的缺陷?

Redis 從 2.6 版本開(kāi)始支持執(zhí)行 Lua 腳本,它和Redis事物很相似,利用Lua腳本可以批量執(zhí)行多個(gè)Redis命令,這些命令會(huì)被提交到Redis服務(wù)器上一次性執(zhí)行完成,大大的減小了網(wǎng)絡(luò)開(kāi)銷。

如果Lua腳本執(zhí)行過(guò)程中出錯(cuò)結(jié)束,那么出錯(cuò)之后的命令是不會(huì)被執(zhí)行的,并且出錯(cuò)之前的命令無(wú)法撤銷,所以Lua腳本不滿足原子性。

使用Lua腳本的好處:

  1. 減少網(wǎng)絡(luò)開(kāi)銷
  2. 原子操作:Redis將整個(gè)Lua腳本作為一個(gè)命令執(zhí)行,中間不會(huì)被其他命令插入。

面試加問(wèn):

Redis事物和管道有什么區(qū)別?

1、網(wǎng)絡(luò)開(kāi)銷

客戶端可以通過(guò)管道一次性地發(fā)送多個(gè)命令而不用等服務(wù)器的響應(yīng),等所有命令都執(zhí)行完之后再一次性地讀取響應(yīng),多條命令的網(wǎng)絡(luò)開(kāi)銷相當(dāng)于是一條命令的開(kāi)銷。但是需要注意的一點(diǎn)是,當(dāng)使用管道打包命令時(shí),Redis必須在處理完所有命令之前將結(jié)果緩存起來(lái),所以打包命令越多,消耗的緩存越多,所以使用時(shí)需要注意下。

Redis事物面試總結(jié),第一次分享說(shuō)的不好大家看文字吧的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
宁陕县| 灵寿县| 三明市| 锦屏县| 鸡东县| 罗定市| 汶川县| 衡山县| 沁源县| 瓦房店市| 崇左市| 桐庐县| 额尔古纳市| 驻马店市| 晋宁县| 贵州省| 林芝县| 宁国市| 房山区| 高邮市| 塔河县| 横山县| 汾西县| 玛曲县| 卫辉市| 北宁市| 依兰县| 泸溪县| 乐平市| 伊春市| 吴忠市| 陇西县| 岱山县| 乐安县| 建湖县| 汝州市| 车险| 璧山县| 安阳县| 云和县| 宝山区|