In memory of là gì

  -  

Bài viết gốc: https://www.tranthanhdeveloper.com/2020/12/in-memory-cache-la-gi.html

Như họ đã biết, laptop thường sẽ sở hữu 2 nơi lưu trữ dữ liệu chính, một là ổ đĩa cứng với vùng thứ hai là RAM. Câu hỏi đọc cùng ghi dữ liệu tại RAM với ổ đĩa cứng gồm sự khác biệt nhau không nhỏ về phương diện tốc độ. RAM cho họ tốc độ gọi ghi đáng ngạc nhiên tùy vào vào từng nhiều loại nhưng thường cho vận tốc hàng chục Gigabyte trên giây so với tốc độ từ khoảng chừng 50 ~ 250MB/s của SSD. Quan sát vào những con số đó ta thấy rõ ràng tốc đọc và ghi thân 2 vùng tàng trữ là rất lớn. Ngoài các thao tác làm việc đọc dữ liệu từ ổ đĩa cứng làm sút hiệu năng thì những chương trình yêu ước CPU giám sát và đo lường nhiều cũng bớt hiệu năng lớn.

Bạn đang xem: In memory of là gì

Từ nhị vấn đề vừa được đề cập nghỉ ngơi trên bạn cũng có thể nghĩ cho tới một giải pháp đó là tàng trữ tạm thờidữ liệu lên bộ nhớ RAM nhằm tăng hiệu năng ứng dụng, việc lưu trữ tạm thời trên RAM thì fan ta gọi là in-memory cache.

Hạn chế của In-memory cache

Mặc dù rằng tốc độ đọc ghi nhanh ngạc nhiên thì bộ nhớ RAM thường xuyên có dung tích hạn chế vì đó bọn họ phải quan tâm và thống trị cái gì đề nghị được cache cùng khi bộ nhớ gần đầy thì bọn họ phải xóa bớt tài liệu đang lưu trữ trên RAM. Thêm một vấn đề với RAM là dữ liệu có khả năng sẽ bị mất khi tắt thứ hay mất điện nên bọn họ nên ưu tiên cho việc lưu trợ thì những dữ liệu đã được giữ trong ổ cứng nhưng việc truy suất lại tự ổ cứng chậm rì rì hoặc ưu tiên lưu trữ dữ liệu rất có thể tính toán lại được. Tinh giảm việc sử dung in-memory cache như là một cơ sở tài liệu để tàng trữ dữ liệu được chế tác mới. Ví như lựa chọn phương án lưu tài liệu được sinh sản mới tạm thời trên RAM thì nên triển khai ghi vào ổ cứng ngay lúc có thể. Nếu bạn đang lên kế hoạch lưu trợ thời trên RAM khoảng vài cha giây rồi mình bắt đầu lưu thực thụ xuống ổ cứng thì bạn phải gật đầu đồng ý có thể mất dữ liệu người dùng, pha vỡ vạc tính trọn vẹn dữ liệu của ứng dụng.

Một số khái niệm đặc biệt quan trọng khi cache dữ liệu:

Lúc toan tính tới việc ứng dụng cache vào bất kì một ứng dụng nào chúng ta nên nắm rõ và ước tính được các thông số như cache hit, cache miss của vận dụng và Cache Replacement Policy của từng cache provider để có thể tận dụng được buổi tối đa sức mạnh của cache, giảm thiếu bộ nhớ, ..

Xem thêm: Nhân Trung Là Gì? Cách Xem Nhân Trung Trong Nhân Tướng Học Xem Tướng Nhân Trung Nam/ Nữ Đoán Vận Mệnh

Cache hit là gì?

Cache hit là việc dữ liệu được yêu mong đã được lưu trữ trong cỗ nhớ. Tỉ lệ thành phần cache hit càng tốt thì cho biết rằng sự cai quản cache của developers là tốt nhất có thể nó đồng nghĩa tương quan với việc hệ thống cache giành được tối ưu nhất.

Cache miss là gì?

Ngược lại với cache hit thì chúng ta có cache miss, cache miss là tâm lý mà dữ liệu yêu cầu không được lưu trữ trong bộ nhớ lưu trữ đệm. Trang thái cache miss càng tốt thì đồng nghĩa với việc tăng thêm gánh nặng nề cho hệ thống của chúng ta. Việc vận dụng cache phải cần được đánh giá lại.

Xem thêm: Chức Năng Của Nhà Văn Hóa Là Gì ? Nghĩa Của Từ Nhà Văn Hoá Trong Tiếng Việt

*

Cache Replacement Policy là gì?

Cache Replacement Policy dịch nôm na là các thuật toán để sửa chữa thay thế giá trị hoặc xóa những giá trị cũ để thêm giá trị bắt đầu vào. Trong bài viết này thì mình sẽ không còn giải thích cụ thể nhưng bạn cũng có thể tham khảo liên kết wikipedia nay: https://en.wikipedia.org/wiki/Cache_replacement_policies

Và đấy là một số phương thức phổ biến:

Bélády"s algorithmFirst in first out (FIFO)Last in first out (LIFO) or First in last out (FILO)Least recently used (LRU)Time aware least recently used (TLRU)Most recently used (MRU)Pseudo-LRU (PLRU)Random replacement (RR)Segmented LRU (SLRU)Least-frequently used (LFU)Least frequent recently used (LFRU)LFU with dynamic aging (LFUDA)Low inter-reference recency phối (LIRS)CLOCK-ProAdaptive replacement cache (ARC)AdaptiveClimb (AC)Clock with adaptive replacement (CAR)Multi queue (MQ)Pannier: Container-based caching algorithm for compound objects

Một số thư viện và cache provider phổ cập sử dụng vào Java cùng cách ngôn ngữ khác

EhCacheCaffeine CacheMemcachedRedisHazelcastCouchbaseInfinispan...