redis 事務和鎖

2021-08-28 20:11:02 字數 1077 閱讀 9264

redis與 mysql事務的對比

在mutil後面的語句中, 語句出錯可能有2種情況

redis 鎖

redis流水線

效能測試

<?php

set_time_limit(0);

ini_set('memory_limit','1024m');

$redis = new redis();

g('1');

$redis->connect('127.0.0.1');

//不具備原子性 ,管道

$redis->pipeline();

for ($i=0;$i<100000;$i++)

",pow($i,2));

$redis->get("test_");

}$redis->exec();

$redis->close();

g('1','e');

g('2');

$redis->connect('127.0.0.1');

//事物具備原子性

$redis->multi();

for ($i=0;$i<100000;$i++)

",pow($i,2));

$redis->get("test_");

}$redis->exec();

$redis->close();

g('2','e');

//普通

g('3');

$redis->connect('127.0.0.1');

//事物具備原子性

for ($i=0;$i<100000;$i++)

",pow($i,2));

$redis->get("test_");

}$redis->close();

g('3','e');

function g($star,$end = '')

else

}//測試輸出的結果:

0.043839931488037ms

0.4456958770752ms

0.45916604995728ms

redis 事務和鎖

何為事務 redis事務就是乙個命令執行的佇列,將一些命令包裝為乙個整體,在執行時,一次性全部依次執行,中間不會被打斷。注意事項 若multi開啟事務後,後續指令存在語法錯誤,則指令佇列被銷毀。事務停止。事務的基本操作 1 multi 開啟事務 2 exec 執行事務 3 discard 取消事務,...

redis事務和鎖

redis事務就是乙個命令執行的佇列,將一系列預定義命令包裝成乙個整體 乙個佇列 當執行時,一次性按照新增順序依次執行,中間不會被打斷或者干擾。事務的基本操作 開啟事務 multi 作用 設定事務的開啟位置,此指令執行後,後續的所有指令均加入到事務中 執行事務 exec 作用 設定事務的結束位置,同...

Redis事務 事務鎖

一旦成功所有的成功,乙個失敗,所有一些列連續動作都失敗 事務的基本操作 注意 加入事務的命令暫時到任務佇列中,並沒有立即執行,只有執行exec命令才開始執行事務定義過程中發現問題,怎麼辦?discard 事務的工作流程 事務的注意事項 手動進行事務回滾 業務場景1 業務分析 基於特定條件的事務執行 ...