Hướng dẫn dùng mongodb timestamp trong PHP
Bài viết được sự cho phép của smartjob.vn Show
Nội dung chính
MongoDB hỗ trợ rất nhiều Driver cho các ngôn ngữ lập trình khác nhau. Trong bài viết này, SmartJob trình bày về việc kết nối, truy vấn từ PHP. Máy tính sử dụng: Windows 10, 64 bit, sử dụng bộ tích hợp XAMPP. Việc làm php và việc làm mongoBD hấp dẫn Bước 1. Tải về tập tin mở rộng dll tại đường link: Bước 2. Giải nén. Copy file php_mongodb.dll vào thư mục ext, ví dụ trên máy của tác giả là: C:\xampp\php\ext Bước 3. Tìm file php.ini , ví dụ, trên máy tác giả là: C:\xampp\php\php.ini . Chèn vào cuối tập tin này: extension=php_mongodb.dll Bước 4. Giả sử có thư mục: C:\xampp\htdocs\vy\mongo–php Gõ lệnh: composer require "mongodb/mongodb=^1.0.0" để tải thư viện bằng Composer về. Composer tự động tải về và thư mục có thêm 1 thư mục và 2 tập tin mới: Tạo 3 tập tin info.php, add.php, find.php để kiểm tra các tính năng mà thư viện MongoDB PHP cung cấp: Tập tin info.phpTập tin add.phpTập tin find.phpBước 5. Khởi chạy máy chủ PHP dựng sẵn php -S localhost:1111 -t C:\xampp\htdocs\vy\mongo-php Bước 6. Truy cập http://localhost:1111/info.php xem kết quả để thấy rằng extension MongoDB đã được cài đặt thành công trong PHP. Bước 7. Thêm dữ liệu bằng cách truy cập đường dẫn Bước 8. Tìm kiếm dữ liệu, bằng cách truy cập đường dẫn Để thực hiện nhiều thao tác đa dạng khác (đọc, ghi, sửa, xóa), bạn hãy xem thêm tài liệu như bên dưới. TÀI LIỆU THAM KHẢO 1. http://php.net/manual/en/mongodb.installation.windows.php Tải mã nguồn từ server SmartJob: mongo-php Bài viết gốc được đăng tải tại smartjob.vn Có thể bạn quan tâm:
Xem thêm tuyển dụng nhân viên it hấp dẫn trên TopDev Vào cuối tháng trước, MongoDB World đã công bố phát hành MongoDB 4.0, hỗ trợ các giao dịch đa tài liệu chống lại các tập hợp bản sao. Các kỹ sư R&D của Cơ sở dữ liệu Alibaba Cloud ApsaraDB lần đầu tiên phân tích mã nguồn của các chức năng giao dịch và phân tích cú pháp cơ chế thực hiện giao dịch. Trong bài viết này, chúng tôi sẽ thảo luận về việc thực hiện các giao dịch đa tài liệu trên MongoDB 4.0. Có gì mới trên MongoDB 4.0Chức năng giao dịch được MongoDB 4.0 giới thiệu hỗ trợ các tính năng ACID đa tài liệu như các hoạt động giao dịch bằng cách sử dụng
Các trình điều khiển ngôn ngữ khác hỗ trợ MongoDB 4.0 cũng đóng gói các API liên quan đến giao
dịch. Để làm điều này, người dùng cần tạo Phiên bản Python
Phiên bản Java
Phiên họp
Trong các phiên bản trước, MongoDB chỉ quản lý ngữ cảnh của một thao tác
duy nhất. Quy Với Mỗi
Trên thực tế, người dùng khi giao dịch sử dụng cũng không cần tìm hiểu những chi tiết này vì chúng sẽ được MongoDB Driver tự động xử lý. Driver sẽ cấp phát lsid khi tạo Điều đáng nói là lsid của Khi MongoDB startSession, nó có thể chỉ định một loạt các tùy chọn để kiểm soát hành vi truy cập của
AXITTính nguyên tử, tính nhất quán, tính cô lập và độ bền (ACID) là một tập hợp các thuộc tính cho các giao dịch cơ sở dữ liệu nhằm đảm bảo tính hợp lệ của các giao dịch trong mọi trường hợp. ACID đóng một vai trò thiết yếu đối với các giao dịch đa tài liệu. Nguyên tửĐối với các hoạt động giao dịch đa tài liệu, MongoDB cung cấp một đảm bảo ngữ nghĩa nguyên tử về "tất cả hoặc không có gì". Các thay đổi dữ liệu chỉ được hiển thị bên ngoài giao dịch nếu nó thành công. Khi một giao dịch không thành công, tất cả dữ liệu thay đổi từ giao dịch sẽ bị loại bỏ. Tính nhất quánNhất quán là đơn giản. Chỉ cho phép các giao dịch được phép trên cơ sở dữ liệu, điều này ngăn chặn việc cơ sở dữ liệu bị hỏng bởi một giao dịch bất hợp pháp. Sự cách lyMongoDB cung cấp mức cô lập ảnh chụp nhanh, tạo ảnh chụp nhanh WiredTiger khi bắt đầu giao dịch và sau đó sử dụng ảnh chụp nhanh này để cung cấp các lần đọc giao dịch trong suốt giao dịch. Độ bềnKhi một
giao dịch sử dụng WriteConcern Giao dịch và Bản saoTrong cấu hình tập hợp bản sao, một oplog (một tài liệu bình thường, vì vậy việc sửa đổi giao dịch trong phiên bản hiện tại không được vượt quá giới hạn kích thước tài liệu là 16 MB) sẽ được ghi lại khi toàn bộ giao dịch MongoDB được cam kết, bao gồm tất cả các hoạt động trong Giao dịch. Nút nô lệ kéo oplog và phát lại cục bộ các hoạt động giao dịch. Ví dụ về nhật ký giao dịch, chứa lsid , txnSố hoạt động giao dịch và tất cả nhật ký hoạt động trong giao dịch (trường applyOps)
Toàn bộ quá trình chơi lại như sau:
Công cụ giao dịch và lưu trữThời gian giao dịch thống nhấtWiredTiger đã hỗ trợ giao dịch trong một thời gian dài. Trong phiên bản 3.x, MongoDB sử dụng các giao dịch WiredTiger để đảm bảo tính nguyên tử của việc sửa đổi dữ liệu, chỉ mục và oplog. Nhưng trên thực tế, MongoDB cung cấp một API giao dịch sau nhiều lần lặp lại của nhiều phiên bản. Khó khăn cốt lõi là thời gian. MongoDB sử dụng dấu thời gian oplog để xác định đơn hàng toàn cầu, trong khi WiredTiger sử dụng ID giao dịch nội bộ để xác định đơn hàng toàn cầu. Về mặt thực hiện, không có sự liên kết giữa hai điều này. Điều này dẫn đến một thứ tự cam kết giao dịch mà MongoDB thấy không nhất quán với thứ tự cam kết giao dịch mà WiredTiger thấy. Để giải quyết vấn đề này, WiredTier 3.0 giới thiệu cơ chế dấu thời gian giao dịch. Ứng dụng có thể chỉ định rõ ràng dấu thời gian cam kết cho giao dịch WiredTiger thông qua
Như bạn có thể thấy từ đoạn mã trên, sau khi dấu thời gian giao dịch được giới thiệu, dấu thời gian được kiểm tra bổ sung khi khả năng hiển thị được xác định. Khi đọc dấu thời gian được chỉ định để đọc trên, chỉ dữ liệu trước dấu thời gian mới có thể được nhìn thấy. MongoDB liên kết dấu thời gian oplog với giao dịch khi thực hiện giao dịch để thời gian của lớp Máy chủ MongoDB nhất quán với thời gian của lớp WiredTiger. Tác động của giao dịch trên bộ nhớ cacheGiao dịch WiredTiger (WT) mở ra một ảnh chụp nhanh và sự hiện diện của ảnh chụp nhanh sẽ ảnh hưởng đến việc loại bỏ bộ nhớ cache WiredTiger. Trên một trang WT, có N phiên bản sửa đổi. Nếu những sửa đổi này không hiển thị trên toàn cầu ( Trong phiên bản 3.x, việc sửa đổi yêu cầu ghi đối với dữ liệu, chỉ mục và oplog sẽ được đặt trong giao dịch WT, cam kết giao dịch được kiểm soát bởi MongoDB và MongoDB sẽ cam kết giao dịch càng sớm càng tốt để hoàn thành yêu cầu ghi ; nhưng sau khi giao dịch được giới thiệu trong phiên bản 4.0, cam kết giao dịch được ứng dụng kiểm soát. Có thể có rất nhiều sửa đổi giao dịch và giao dịch có thể không được cam kết trong một thời gian dài. Điều này sẽ có tác động lớn đến việc loại bỏ bộ đệm WT. Nếu một lượng lớn bộ nhớ không thể được giải phóng, nó cuối cùng sẽ chuyển sang tình trạng bộ nhớ đệm bị kẹt. Để giảm thiểu áp lực bộ đệm WT, chức năng giao dịch MongoDB 4.0 có một số hạn chế, nhưng khi tài nguyên giao dịch vượt quá một ngưỡng nhất định, nó sẽ tự động hủy bỏ để giải phóng tài nguyên. Các quy tắc bao gồm:
Đọc dưới dạng Dấu thời gian và Dấu thời gian cũ nhất
WiredTiger cung cấp khả năng đặt Khôi phục lớp động cơ và Dấu thời gian ổn địnhTrong các phiên bản 3.x, hoạt động khôi phục của tập hợp bản sao MongoDB được thực hiện ở lớp Máy chủ, nhưng khi một nút cần được khôi phục, hoạt động ngược lại liên tục được áp dụng theo oplog sẽ được khôi phục hoặc phiên bản mới nhất được đọc từ nguồn khôi phục. Toàn bộ hoạt động khôi phục là không hiệu quả. Phiên bản 4.0 thực hiện cơ chế khôi phục
cho lớp công cụ lưu trữ. Khi nút tập hợp bản sao cần được khôi phục, nó sẽ gọi trực tiếp API WiredTiger để khôi phục dữ liệu về phiên bản ổn định (một điểm kiểm tra). Phiên bản ổn định này phụ thuộc vào MongoDB cần đảm bảo cập nhật thường xuyên Giao dịch phân tánMongoDB 4.0 hỗ trợ các giao dịch đa tài liệu chống lại các tập hợp bản sao và có kế hoạch hỗ trợ chức năng giao dịch cụm sharding trong phiên bản 4.2. Sau đây là sơ đồ lặp lại chức năng từ MongoDB 3.0 giới thiệu WiredTiger đến 4.0 hỗ trợ các giao dịch đa tài liệu. Nếu bạn thích bài viết này và muốn tìm hiểu thêm về MongoDB, hãy xem bộ sưu tập các hướng dẫn và bài viết về tất cả mọi thứ về MongoDB. 11 hữu ích 0 bình luận 17k xem chia sẻ |