Computer >> Máy Tính >  >> Lập trình >> Redis

Giới thiệu về bộ đệm từ bộ đệm ở quy mô Primer

Với hơn 34 năm kinh nghiệm thiết kế và xây dựng các ứng dụng SaaS, Lee Atchison là một nhà lãnh đạo tư tưởng được công nhận và chuyên gia về hiện đại hóa ứng dụng, di chuyển đám mây và chuyển đổi DevOps. Bạn có thể đọc hoặc xem kiến ​​thức chuyên môn của anh ấy được trưng bày thông qua bất kỳ cuốn sách nào trong số ba cuốn sách, hơn 70 bài báo đã xuất bản của anh ấy hoặc 100 bài thuyết trình, lớp học và hội thảo.

Bạn và nhóm của bạn đã phát triển một ứng dụng đáng được mọi người chú ý. Truyền miệng lan rộng và mức độ phổ biến của nó tăng vọt, nhưng sau đó chi phí vận hành bắt đầu tăng vọt, ứng dụng liên tục gặp sự cố và một khách hàng làm điều không tưởng — họ tweet về tốc độ siêu chậm.

Khi cơ sở khách hàng của bạn tăng lên, làm cách nào để bạn giữ cho chi phí không tăng? Bạn hoan nghênh thách thức mở rộng quy mô, nhưng bạn cũng không thể hy sinh tăng trưởng để có tỷ lệ chuyển đổi dự phòng cao hơn và tăng chi phí bảo trì.

Một điều chắc chắn là:Bạn cần một bộ đệm ứng dụng.

Bộ nhớ đệm là gì?

“Bộ nhớ đệm là một thành phần lưu trữ dữ liệu có thể được truy cập nhanh hơn hoặc hiệu quả hơn nguồn dữ liệu ban đầu.”

Lee Atchison, Bộ nhớ đệm theo quy mô với Redis.

Khi có yêu cầu tìm nạp dữ liệu, bộ nhớ đệm sẽ cung cấp bản sao của dữ liệu đó trong thời gian thực. Và khi ngày càng nhiều khách hàng bắt đầu sử dụng ứng dụng của bạn, bạn cần một kiến ​​trúc ứng dụng nâng cao có thể xử lý các yêu cầu dữ liệu gia tăng đó mà không cần qua lại giữa kho dữ liệu chính của bạn.

Lee tóm tắt khá đơn giản:“Thế giới hiện đại của chúng ta đòi hỏi những ứng dụng hiện đại.”

Không có gì bí mật khi khách hàng yêu cầu hiệu suất ngày càng tốt hơn. Nếu ứng dụng của bạn không hoạt động như mong đợi của khách hàng, những khách hàng đó sẽ rời đi và đổ xô đến các đối thủ cạnh tranh của bạn.

Và đằng sau mỗi ứng dụng nhanh, dễ sử dụng là rất nhiều bộ phận chuyển động. Như Lee nói, “Các ứng dụng ngày nay phải có khả năng xử lý số lượng lớn dữ liệu, thực hiện các hoạt động phức tạp, duy trì nhiều mối quan hệ giữa các phần tử dữ liệu và hoạt động trên các trạng thái khác biệt và khác biệt giữa các giao dịch.”

Nhức đầu xảy ra trong các ứng dụng phức tạp và có một bộ nhớ cache để giảm thiểu chúng.

Đọc Lưu vào bộ nhớ đệm ở quy mô lớn với Redis

Trong Lưu vào bộ nhớ đệm theo quy mô với Redis , Lee giới thiệu bộ nhớ đệm là gì, tại sao và khi nào bạn cần, cũng như các phương pháp thực hành bộ nhớ đệm sẽ giúp ứng dụng của bạn đạt được hiệu suất cao nhất có thể.

Giới thiệu về bộ đệm từ bộ đệm ở quy mô Primer

Khi người dùng yêu cầu dữ liệu từ một dịch vụ, một hoạt động được thực hiện để lấy dữ liệu đó từ cửa hàng, sau đó chuyển tiếp thông tin đó trở lại người tiêu dùng. Tuy nhiên, Lee lưu ý rằng các hoạt động này có thể tốn rất nhiều tài nguyên và thời gian — đặc biệt nếu cùng một dữ liệu được truy xuất lặp đi lặp lại.

“Thay vào đó, với bộ đệm, lần đầu tiên thực hiện thao tác phức tạp, kết quả sẽ được trả lại cho người tiêu dùng và một bản sao của kết quả được lưu trữ trong bộ đệm. Vào lần tiếp theo dữ liệu cần thiết, thay vì thực hiện lại toàn bộ hoạt động phức tạp, kết quả có thể được lấy trực tiếp ra khỏi bộ nhớ cache và trả lại cho người tiêu dùng nhanh hơn và sử dụng ít tài nguyên hơn. ”

Bộ nhớ đệm có gì sửa được — nhưng tại sao nó không hoàn hảo

Bộ nhớ đệm không phải là một kho lưu trữ dữ liệu có một kích thước phù hợp với tất cả. Kiến trúc ứng dụng khác nhau trên diện rộng, đặc biệt là do kích thước của ứng dụng hoặc thậm chí là trường hợp sử dụng trong ngành. Tuy nhiên, Lee cho biết có bốn tính năng chính mà bộ nhớ đệm sẽ giúp cải thiện:

  • Hiệu suất
  • Chia tỷ lệ
  • Tối ưu hoá tài nguyên
  • Sự thuận tiện và tính khả dụng

Điều này không có nghĩa là việc triển khai bộ nhớ cache sẽ tự động cung cấp những thứ này cho bạn.

“Trong nhiều trường hợp, bộ nhớ đệm có thể không thêm giá trị và trong một số trường hợp, bộ nhớ đệm thực sự có thể làm giảm hiệu suất,” Lee nói. Ông nêu ra ba vấn đề tiềm ẩn:

  1. Lưu vào bộ nhớ đệm có thể khiến ứng dụng không thực thi các tác dụng phụ mong muốn của các hoạt động được nhắm mục tiêu
  2. Dữ liệu không nhất quán trong bộ nhớ cache
  3. Hiệu suất bộ nhớ cache kém

Lee lưu ý rằng một số biến nhất định phải đúng để một bộ đệm có ích (xem trang 8 của sách điện tử để biết danh sách các quy tắc). Lee nói:“Để bộ nhớ đệm hoạt động hiệu quả, bạn cần hiểu rõ về phân phối thống kê của việc truy cập dữ liệu từ ứng dụng hoặc nguồn dữ liệu của bạn.

Tự làm chủ bản thân với playbook lưu trong bộ nhớ đệm tối ưu

Bây giờ bạn biết mình cần một bộ nhớ cache, cuốn sách điện tử miễn phí này là tài liệu gốc duy nhất bạn cần để xây dựng và mở rộng bộ nhớ cache của mình với Redis.

Từ chính Lee:“Cuốn sách này mô tả bộ nhớ đệm là gì, tại sao nó là nền tảng của các ứng dụng hiện đại quy mô lớn hiệu quả và cách Redis có thể giúp bạn đáp ứng những nhu cầu bộ nhớ đệm khắt khe này.”

Khi bạn tìm hiểu sâu hơn về sách điện tử, Caching at Scale With Redis thảo luận về các loại chiến lược lưu vào bộ nhớ đệm khác nhau và đưa ra những giải thích thực tế về cách những chiến lược này có thể phù hợp với bạn — đặc biệt nếu bạn đang ở trên đám mây.

“Mặc dù có nhiều phương pháp, quy trình và kỹ thuật để làm cho một ứng dụng duy trì tính khả dụng cao trên quy mô lớn, nhưng bộ nhớ đệm là kỹ thuật trung tâm trong hầu hết tất cả chúng,” Lee nói.

Để biết thêm thông tin về sách điện tử, hãy truy cập của chúng tôi trang .