oracle库缓存锁,Laravel 7.10 中的数据库缓存锁定和并发限制
最近, Laravel 團隊發布了 v7.10.0 版本,該版本主要修改如下:
數據庫驅動緩存鎖的支持
session 會話的并發限制以及簡化斷言測試
除此之外,Laravel v7.10.0 還包含許多新功能,以及 7.x 系列的問題修復。
可通過閉包進行的斷言測試
Sjors Ottjes 提供了一種可以通過閉包進行斷言測試的方法:
// 在此之前,我們的斷言測試需要這樣寫:
Mail::assertQueued(SubpictureFinishedEmail::class, function (SubpictureFinishedEmail $email) use ($user) {
return $email->user->id === $user->id;
});
// 7.10+ 之后,需要這樣
Mail::assertQueued(function (SubpictureFinishedEmail $email) use ($user) {
return $email->user->id === $user->id;
});
// 或者更簡潔的方式
Mail::assertQueued(
fn (SubpictureFinishedEmail $email) => $email->user->id === $user->id
);
同一個會話ID的請求并發限制
Taylor Otwell 解決了長期以困擾 Laraevl 開發者的一個問題:關于關會話并發的限制,原文如下:
這個 PR 實現了 Laravel 針對同一個 SESSION ID 的會話的并發限制,以防止因高并發場景下可能出現的數據之間的覆蓋與丟失。
支持子查詢的分頁
該 PR 解決了長期以來,在 Laravel 查詢中使用?groupBy?和?having?帶來的一些問題,?這些問題可以追溯到很久之前,該解決方案幾年前由?@acasar 提出,但當時并未采用該方案。現在回過頭來看,或許這是個更好的實現方式。
關于 cast:make 命令
Adrien Leloup 提供了一個命令行工具?artisan make:cast,存儲于?app/Casts下,它實現了?CastsAttributes?接口。
數據庫統計斷言
Christoph Rumpel 提供了一個關于數據庫統計的斷言:
$this->assertDatabaseCount('users', 50);
// 當斷言不匹配將會有以下信息:
// "Failed asserting that table [users] matches expected entries count of 50. Entries found: 1."
SMTP 郵件驅動下的權限驗證
由 @fragkp?contributed?提供的?auth_mode?:
當我們不想做單獨處理的時候,?auth_mode?將很有用。
可選的值:?null,?plain,?login?和 cram-md5.
添加 Model 的 hasNamedScope 支持
Alex Bowers 和 Graham Campbell 就 Model 作用域提供了以下 PRs 。
首先, Alex 貢獻的?hasScope 方法?。
hasScope 方法可動態檢查作用域是否存在…下面是一個包含了過濾器數組的請求的例子,具體代碼如下:
public function index(Request $request)
{
$post = Post::query();
foreach ($request->get('filters', []) as $filter) {
if ($post->hasNamedScope($filter)) {
$post->{$filter}();
}
}
return $post->paginate();
}
在 7.10 最終版本的 Graham’s PR 中,該方法已經更名為?hasNamedScope?:
通過過濾器動態判斷作用域是否存在,存在則調用。這個 PR 為了一種動態的方式去匹配作用域。
在 #32622?添加的 hasScope 方法,為了代碼命名風格一致性考量,決定更改為 hasNamedScope。
緩存驅動的緩存鎖支持
本文中的所有譯文僅用于學習和交流目的,轉載請務必注明文章譯者、出處、和本文鏈接
我們的翻譯工作遵照 CC 協議,如果我們的工作有侵犯到您的權益,請及時聯系我們。
總結
以上是生活随笔為你收集整理的oracle库缓存锁,Laravel 7.10 中的数据库缓存锁定和并发限制的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: keep alive PHP,vue中k
- 下一篇: 源码时代php中级项目,PHP学科项目评