Node Unique
120 subscribers
22 photos
2 videos
3 files
42 links
سلام به برنامه نویس های جاوااسکریپت (nodejs)
اینجا درباره Back-End تجربیات خودم رو مینویسم و به اشتراک میزارم ;)
و همچنین مفاهیم soft-skill که مربوط به Stack خاصی نمیشه هم پوشش خواهم داد.

دسته بندی پست ها
https://t.me/NodeUnique/10

Owner:
@iDvMH
Download Telegram
رفقا ها سلام چطورین خیلی خوش اومدین به چنل خودتون 🌟

برای اینکه چنل نظم خاصی رو طی کنه تو شلوغی و همچنین به پست ها دسترسی سریع تری داشته باشین تصمیم گرفتم هر پستی که اینجا میزاریم رو با # دسته بندی کنیم.

تمامی پست های چنلو میتونین با این # ها پیدا کنین

#nodejs
#expressjs
#nestjs
#bunjs
#denojs
#redis
#authentication
#restapi
#sql
#nosql
#mysql
#postgresql
#mariadb
#mongodb
#mongoose
#prisma
#typeorm
#sequelize
#git
#github
#bug
#graphql
#apollo_server
#websocket
#socketio
#test
#cleancode
#linkedin
#fun
#orm
#js
#ts
#regex
#design_patterns
#docker
#elasticsearch
#کدخوانا
#پادکست
#داکیومنت_نویسی
#تجربه
#استخدام
#لینکدین
#ترفند
#رزومه
#پروفایل_گیتهات
#دیزاین_پترن
#کلین_کد
#میم
#فکت
#مقاله
#ویدیو_آموزشی
#نقشه_راه
#کاربردی
#طراحی_دیتابیس
#شبکه_سازی
#متفرقه
#معرفی_ابزار
#معرفی_منبع
#معماری_نرم_افزار
#قیمت_گذاری
#معرفی_کتاب
#نمونه_کار
#روانشناسی
#مهارت_نرم
#هاست
#دیپلوی
#دامنه
#ربات_نویسی

..... این لیست بروز میشود ......

یسری حرف و حدیث ها که خارج از برنامه نویسی هستن و بیشتر تجربه زندگی شخصیم هستن رو پست میکنم با هشتگ #دلی که چنل حالت روحی خشکی نداشته باشه و جو صمیمیت برقرار باشه.

مرسی از همراهیتون ❤️

🐱 https://github.com/MhsnBakhshi
🔤 @NodeUnique
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
~> از Redis کجاها استفاده کنیم؟ کجاها استفاده نکنیم؟

Redis یکی از سریع‌ترین و محبوب‌ترین ابزارهای in-memory data store تو دنیاست. این ابزار هم به عنوان database، هم cache و هم message broker استفاده می‌شه . اما این که هرجایی ازش استفاده کنیم، اصلا کار درستی نیست. تو این پست می‌خوایم بررسی کنیم کجا Redis انتخاب خوبیه و کجا بهتره سراغش نریم.

~> کجاها از Redis استفاده کنیم؟

Caching
وقتی یه داده رو مدام از دیتابیس اصلی می‌خونی و نیاز به سرعت بالا داری، Redis می‌تونه به عنوان یه کش عالی عمل کنه. مثلا:
کش کردن نتایج کوئری‌های سنگین
ذخیره صفحات رندر شده
ذخیره session data برای کاربرها

Real-Time Analytics
اگه می‌خوای یه داشبورد real-time بسازی که اطلاعات رو لحظه‌ای نشون بده، Redis با ساختارهای داده سریعش (مثل sorted sets) می‌تونه خیلی کمک‌کننده باشه.

Rate Limiting
وقتی می‌خوای تعداد درخواست‌های کاربرها رو محدود کنی، مثلا برای جلوگیری از حملات DDoS یا اسپم، Redis یه گزینه عالیه.

Pub/Sub Systems
برای ارتباط بین سرویس‌ها یا ارسال پیام در سیستم‌های real-time مثل چت‌ها، Redis با قابلیت publish/subscribe خیلی خوب عمل می‌کنه.

Leaderboard ها و سیستم‌های امتیازدهی
ساختار داده sorted sets برای ساختن رتبه‌بندی‌های real-time (مثل امتیاز بازیکن‌ها) ایده‌آله.

~> کجاها از Redis استفاده نکنیم؟

ذخیره‌سازی داده‌های پایدار

Redis یه in-memory database هست. یعنی داده‌ها رو تو حافظه ذخیره می‌کنه، نه روی دیسک. اگه برق بره یا سیستم ری‌استارت بشه، داده‌ها ممکنه از دست برن. برای داده‌هایی که نمی‌خوای از دست برن، از دیتابیس‌هایی SQL مثل PostgreSQL یا Mysql یا ... استفاده کن.

حجم‌های بالا
اگه حجم داده‌هات خیلی زیاده و رم کافی نداری، Redis انتخاب خوبی نیست. مثلا ذخیره‌سازی داده‌های سنگین مثل فایل‌ها یا لاگ‌ها.

آنالیزهای پیچیده
اگه نیاز به کوئری‌های پیچیده داری (مثل join یا aggregation)، بهتره از دیتابیس‌های relation-based مثل MySQL یا PostgreSQL استفاده کنی.

~> اشتباهات رایج در استفاده از Redis

استفاده از Redis برای همه‌چیز
خیلیا وقتی Redis رو یاد می‌گیرن، فکر می‌کنن باید همه‌چیز رو توش ذخیره کنن. ولی این ابزار برای همه نوع داده مناسب نیست. مثلا برای ذخیره تراکنش‌های مالی یا داده‌های حساس، بهتره از دیتابیس‌های دیگه استفاده کنی.

تنظیم نکردن TTL
اگه از Redis به عنوان کش استفاده می‌کنی ولی TTL (زمان انقضای داده‌ها) رو تنظیم نکنی، ممکنه حافظه پر بشه و سیستم کرش کنه.

نادیده گرفتن محدودیت رم

Redis همه داده‌ها رو تو رم ذخیره می‌کنه. اگه حجم داده‌هات از ظرفیت رم بیشتر بشه، سیستم به مشکل می‌خوره.

مدیریت نکردن replication
برای سیستم‌های حساس، باید replication رو تنظیم کنی تا در صورت خرابی سرور اصلی، داده‌ها از بین نرن.

عدم مانیتورینگ
خیلی‌ها Redis رو راه می‌ندازن ولی هیچ وقت مانیتور نمی‌کنن که چقدر حافظه مصرف می‌شه یا چقدر latency داره. این اشتباه می‌تونه باعث مشکلات جدی بشه.

#redis

~> @Code_Unique