Redis Distributed Caching

Cache nima?

Dastur ma’lumotni bir necha usulda saqlaydi. Hajmi katta va kamdan-kam chaqiriladigan ma’lumotlar fizik diskda fayl sifatida saqlanadi.

Tez o’zgaruvchan, uzoq vaqt saqlanadigan va ko’p murojat qilinadigan ma’lumotlar databaza…


This content originally appeared on DEV Community 👩‍💻👨‍💻 and was authored by Wahid Abduhakimov

Image description

Cache nima?

Dastur ma'lumotni bir necha usulda saqlaydi. Hajmi katta va kamdan-kam chaqiriladigan ma'lumotlar fizik diskda fayl sifatida saqlanadi.

Tez o'zgaruvchan, uzoq vaqt saqlanadigan va ko'p murojat qilinadigan ma'lumotlar databazalarda saqlanadi. Ma'lumotni turi va chaqirilish shakliga qarab turli databaza dizaynlari mavjud. Bir-biriga chuqur bog'liqligi ko'p bo'lgan ma'lumotlar SQL databazalarda, dokument ko'rinishida bo'lgan va boshqa ma'lumotlarga ko'p bog'lanmaganlari esa dokument databazalar (Mongo, Cosmos)larda saqlanadi.

Bundan tashqari 3-xil ma'lumotni saqlash usuli ham bor. Ma'lumot hajmi juda kichik, saqlash muddati o'zgaruvchan (odatda juda qisqa) va ma'lumotga murojat juda ko'p bo'lsa, dastur tezligini oshirish maqsadida bunday ma'lumotlar vaqtinchalik "omborlar"da ya'ni cache'larda saqlanadi.

.NET dasturchilar uchun ma'lumotni cache'da saqlash uchun juda qulay API IMemoryCache interfeysi mavjud.

MemoryCache ma'lumotni vaqtincha key/value juftlik sifatida RAMda (tezkor xotirada) saqlaydi. Bu xotiraga expiration time ya'ni o'chib ketish vaqtini belgilasa bo'ladi. Masalan, 10 sekundda o'chib ketishini yoki aniq bir vaqtda o'chib ketishini yoki 10 sekund ishlatilmasa o'chib ketishini belgilab qo'ysa bo'ladi.

MemoryCache juda ham qulay va easy-to-use yechim. Lekin u RAMda saqlangani bois, dastur o'chib yonsa vaqtincha saqlanga ma'lumotlar ham o'chib ketadi. Masalan, siz foydalanuvchilarni sessionlarini MemoryCacheda saqlayotgan bo'lsangiz dastur nimadir sababga ko'ra o'chib yonsa, foydalanuvchilar sessionlarini yo'qotishadi.

MemoryCache bilan yana bir muammo bor. Agar dastur microservice arxitektura bilan qurilgan bo'lsa va bir vaqtda dasturni bir necha nusxasi ishlab tursa bitta nusxaning RAM xotirasida saqlanayotga Cache boshqa bir nusxada mavjud bo'lmaydi.

Ya'ni MemoryCache Distributed sistemalarda ishlamaydi.

Bunga yechim Distributed Caching sistema ya'ni Redis. Redisning ishlash prinsipi MemoryCache bilan deyarli bir xil. Lekin uning afzalligi Redisda saqlangan Cache ishlab turgan dasturning holatiga (o'chib/yonishiga) bog'liq emas. Bundan tashqari dasturning bir nechta nusxasi bir vaqtda bitta Redis markaziy Cache'ga ulanadi va hammasi bir xil ma'lumot saqlaydi va o'qiydi.

Keyingi postda video darslik sifatida MemoryCache va Redisdan qanday foydalanish haqida gaplashamiz.


This content originally appeared on DEV Community 👩‍💻👨‍💻 and was authored by Wahid Abduhakimov


Print Share Comment Cite Upload Translate Updates
APA

Wahid Abduhakimov | Sciencx (2022-11-25T05:55:55+00:00) Redis Distributed Caching. Retrieved from https://www.scien.cx/2022/11/25/redis-distributed-caching/

MLA
" » Redis Distributed Caching." Wahid Abduhakimov | Sciencx - Friday November 25, 2022, https://www.scien.cx/2022/11/25/redis-distributed-caching/
HARVARD
Wahid Abduhakimov | Sciencx Friday November 25, 2022 » Redis Distributed Caching., viewed ,<https://www.scien.cx/2022/11/25/redis-distributed-caching/>
VANCOUVER
Wahid Abduhakimov | Sciencx - » Redis Distributed Caching. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2022/11/25/redis-distributed-caching/
CHICAGO
" » Redis Distributed Caching." Wahid Abduhakimov | Sciencx - Accessed . https://www.scien.cx/2022/11/25/redis-distributed-caching/
IEEE
" » Redis Distributed Caching." Wahid Abduhakimov | Sciencx [Online]. Available: https://www.scien.cx/2022/11/25/redis-distributed-caching/. [Accessed: ]
rf:citation
» Redis Distributed Caching | Wahid Abduhakimov | Sciencx | https://www.scien.cx/2022/11/25/redis-distributed-caching/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.