SlideShare una empresa de Scribd logo
1 de 12
Descargar para leer sin conexión
‫نام‬:‫نرگس‬
‫خانوادگي‬ ‫نام‬:‫زاده‬ ‫نجفي‬
‫استاد‬:‫دوست‬ ‫عدل‬ ‫آقاي‬
1
Redis‫یا‬Remote Dictionary Server‫داده‬‫پایگاه‬ ‫نوع‬ ‫یک‬‫باشد‬‫می‬(‫با‬ ‫و‬ ‫باز‬ ‫متن‬memcache).
‫در‬‫واقع‬Redis‫در‬ ‫ای‬‫داده‬ ‫ساختارهای‬ ‫ساز‬‫ذخیره‬ ‫یک‬RAM‫باشد‬‫می‬.‫یا‬ ‫ای‬‫داده‬ ‫ساختارهای‬Data Structure‫یک‬ ‫توانند‬‫می‬
‫ها‬‫داده‬ ‫از‬ ‫لیستی‬ ‫یک‬ ‫یا‬ ‫و‬ ‫ساده‬ ‫رشته‬‫باشند‬.Redis‫داخل‬ ‫را‬ ‫ای‬‫داده‬ ‫ساختارهای‬RAM‫با‬ ‫توانیم‬‫می‬ ‫و‬ ‫کرده‬ ‫نگهداری‬ ‫ما‬ ‫برای‬
‫کنیم‬ ‫بازیابی‬ ‫را‬ ‫ها‬‫آن‬ ‫باال‬ ‫سرعت‬.
‫که‬ ‫آنجایی‬ ‫از‬Redis‫داخل‬ ‫در‬ ‫اطالعات‬ ‫از‬ ‫چون‬ ‫و‬ ‫است‬ ‫دیتابیس‬ ‫نوع‬ ‫یک‬ ‫کند‬‫می‬ ‫بازیابی‬ ‫و‬ ‫ذخیره‬ ‫را‬ ‫ها‬‫داده‬RAM‫نگهداری‬
‫اصطالحا‬ ‫کند‬‫می‬In-Memory Database‫شود‬‫می‬ ‫گذاری‬ ‫نام‬.
‫در‬ ‫که‬ ‫ای‬ ‫داده‬ ‫هر‬ ‫برای‬ ‫اما‬Redis‫یک‬ ‫کنیم‬ ‫می‬ ‫ذخیره‬key‫این‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫بازیابی‬ ‫زمان‬ ‫و‬ ‫داریم‬ ‫کلید‬ ‫یا‬key‫به‬ ‫که‬ ‫هست‬
‫همان‬ ‫که‬ ‫خودمون‬ ‫داده‬value‫این‬ ‫بنابر‬ ‫و‬ ‫رسیم‬ ‫می‬ ‫هست‬Redis‫یک‬key value database‫هست‬.‫پس‬Redis‫دیتابیس‬ ‫یک‬
NoSql‫از‬ ‫استفاده‬ ‫بر‬ ‫عالوه‬ ‫اما‬ ‫باشد‬ ‫می‬Redis‫ویژگی‬ ‫به‬ ‫توجه‬ ‫با‬ ‫بیس‬ ‫دیتا‬ ‫عنوان‬ ‫به‬‫های‬‫دارد‬ ‫كه‬Redis‫به‬ ‫رو‬
‫عنوان‬Cache‫و‬Message Broker‫کنیم‬ ‫استفاده‬ ‫هم‬.‫که‬ ‫تفاوتی‬Redis‫باشد‬‫می‬ ‫آن‬ ‫العاده‬‫فوق‬ ‫سرعت‬ ‫دارد‬ ‫ها‬‫داده‬‫پایگاه‬ ‫دیگر‬ ‫با‬.
2
‫در‬ ‫كه‬ ‫هايي‬ ‫داده‬ ‫انواع‬Redis‫پشتیبانی‬‫میشود‬:
3
Strings -‫رشته‬:
‫از‬ ‫حداکثر‬ ‫رشته‬ ‫یک‬ ‫باشند‬ ‫ای‬ ‫داده‬ ‫نوع‬ ‫هر‬ ‫میتوانند‬ ‫ها‬ ‫رشته‬512‫کند‬ ‫می‬ ‫پشتیبانی‬ ‫مگابایت‬.
Lists -‫لیست‬:
‫یا‬ ‫اول‬ ‫به‬ ‫میتوان‬ ‫اند‬ ‫شده‬ ‫مرتب‬ ‫درج‬ ‫ترتیب‬ ‫به‬ ‫که‬ ‫هستند‬ ‫ها‬ ‫رشته‬ ‫از‬ ‫ای‬ ‫مجموعه‬ ‫واقع‬ ‫در‬ ‫ها‬ ‫لیست‬
‫کرد‬ ‫اضافه‬ ‫جدید‬ ‫عنصر‬ ‫یک‬ ‫لیست‬ ‫انتهای‬.
Sets -‫مجموعه‬:
‫اضاف‬ ‫جدید‬ ‫رشته‬ ‫مجموعه‬ ‫یک‬ ‫در‬ ‫میتوان‬ ‫هستند‬ ‫ها‬ ‫رشته‬ ‫از‬ ‫ترتیب‬ ‫بدون‬ ‫کلکسیون‬ ‫واقع‬ ‫در‬ ‫مجموعه‬‫یا‬ ‫ه‬
‫کرد‬ ‫جستجو‬ ‫یا‬ ‫حذف‬.
Sorted Sets -‫مرتب‬ ‫مجموعه‬:
‫یابد‬ ‫می‬ ‫تخصیص‬ ‫امتیاز‬ ‫یک‬ ‫مرتب‬ ‫مجموعه‬ ‫عنصر‬ ‫هر‬ ‫به‬ ‫که‬ ‫تفاوت‬ ‫این‬ ‫با‬ ‫است‬ ‫مجموعه‬ ‫همانند‬.
Hashes -‫َش‬‫ه‬:
‫نیاز‬ ‫مقدار‬ ‫به‬ ‫دسترسی‬ ‫برای‬ ‫که‬ ‫دهد‬ ‫می‬ ‫قرار‬ ‫ها‬ ‫آن‬ ‫بین‬ ‫جدید‬ ‫رشته‬ ‫یک‬ ‫و‬ ‫است‬ ‫مقدار‬ ‫و‬ ‫کلید‬ ‫بین‬ ‫نگاشتی‬ ‫واقع‬ ‫در‬ ‫َش‬‫ه‬‫هش‬ ‫و‬ ‫کلید‬ ‫به‬
‫است‬ ‫همزمان‬ ‫صورت‬ ‫به‬.
4
‫های‬ ‫ویژگی‬
Redis
‫سازگاری‬‫های‬‫زبان‬ ‫اکثر‬ ‫با‬
‫نویسی‬‫برنامه‬
‫مبتنی‬‫حالت‬ ‫بر‬‫کلی‬
Key/Value
‫د‬‫مقدار‬ ‫و‬‫یا‬
‫حافظه‬ ‫عنوان‬ ‫به‬ ‫استفاده‬
‫یا‬ ‫نهان‬Cache
‫سیستم‬‫سازی‬‫ذخیره‬
in-memory data structure
‫پشتیبانی‬‫هش‬ ‫جداول‬ ‫از‬
(Hash)‫و‬‫قابلیت‬
Hyperv LogLog
‫استفاده‬‫سیستم‬ ‫از‬‫تکثی‬‫ر‬
master-slave replication
Bash,
C,C#,C++,
Go
,java,Matlab,node.js,Perl,PHP
,Ruby,Swift,Python,VB
‫کاربرد‬Caching‫در‬Redis‫چیست؟‬(‫توجه‬ ‫جالب‬ ‫ویژگی‬ ‫یک‬ ‫توسعه‬ ‫برای‬ ‫داده‬ ‫ساختار‬ ‫دو‬ ‫یا‬ ‫یک‬ ‫از‬
‫کنید‬‫می‬ ‫استفاده‬)
‫از‬ ‫زمانی‬Caching‫دی‬ ‫عبارت‬ ‫به‬ ،‫شود‬ ‫انجام‬ ‫کمتر‬ ‫دیسک‬ ‫هارد‬ ‫به‬ ‫دسترسی‬ ‫باشیم‬ ‫داشته‬ ‫قصد‬ ‫که‬ ‫شود‬‫می‬ ‫استفاده‬‫گر‬
Caching‫را‬ ‫ها‬‫آن‬ ‫بارگذاری‬ ‫و‬ ‫اطالعات‬ ‫به‬ ‫دسترسی‬ ‫سرعت‬ ‫فرآیند‬ ‫این‬ ‫که‬ ‫شود‬‫می‬ ‫ذخیره‬ ‫موقت‬ ‫حافظه‬ ‫در‬ ‫اطالعات‬
‫دهد‬‫می‬ ‫افزایش‬.‫دریاف‬ ‫بار‬ ‫یک‬ ‫اطالعات‬ ‫این‬ ،‫سرورها‬ ‫از‬ ‫اطالعات‬ ‫بازخوانی‬ ‫برای‬ ‫مراجعه‬ ‫بار‬ ‫چندین‬ ‫جای‬ ‫به‬ ‫ترتیب‬ ‫این‬ ‫به‬‫ت‬
‫همان‬ ‫که‬ ‫نهان‬ ‫حافظه‬ ‫قالب‬ ‫در‬ ‫و‬ ‫شده‬Caching‫قرار‬ ‫ردیس‬ ‫در‬ ‫است‬‫گیرد‬‫می‬.‫و‬ ‫موقتی‬ ‫حافظه‬ ‫در‬ ‫اطالعات‬ ‫ردیس‬ ‫در‬
Cache‫امکان‬ ‫شود‬ ‫انجام‬ ‫بیشتری‬ ‫بسیار‬ ‫سرعت‬ ‫با‬ ‫ها‬‫آن‬ ‫به‬ ‫دسترسی‬ ‫شود‬‫می‬ ‫باعث‬ ‫امر‬ ‫این‬ ،‫شوند‬‫می‬ ‫ذخیره‬
‫در‬ ‫را‬ ‫اطالعات‬ ‫دائمی‬ ‫سازی‬‫ذخیره‬Redis‫داشت‬ ‫نخواهید‬.‫روی‬ ‫دیگر‬ ‫طرف‬ ‫از‬ ‫اما‬Redis،‫ها‬‫کوکی‬ ‫ذخیره‬ ‫برای‬Session،
‫ها‬‫داده‬ ‫گذاری‬‫اشتراک‬ ‫به‬ ‫و‬ ‫کاربران‬ ‫خروج‬ ‫و‬ ‫ورود‬ ‫به‬ ‫مربوط‬ ‫اطالعات‬‫توانید‬‫می‬‫کنید‬ ‫باز‬ ‫حساب‬.‫عبارت‬‫به‬‫ای‬‫داده‬ ‫هر‬ ‫تر‬‫ساده‬
‫کهلزومی‬‫ندارد‬ ‫دائم‬ ‫ذخیره‬ ‫به‬‫توان‬‫رامی‬‫با‬Redis‫کرد‬ ‫مدیریت‬.
‫ایمی‬ ‫آدرس‬ ‫اساس‬ ‫بر‬ ‫را‬ ‫آنها‬ ‫خواهید‬‫می‬ ‫و‬ ‫هستند‬ ‫ایمیل‬ ‫شامل‬ ‫شما‬ ‫کاربران‬ ‫های‬‫داده‬ ‫که‬ ‫کنید‬ ‫فرض‬ ً‫مثال‬‫ل‬
‫کنید‬ ‫مرتب‬.‫گفت‬ ‫خواهید‬ ‫اینصورت‬ ‫در‬:
SORT userIds By user:*->email
5
"‫داده‬ ‫پایگاه‬NOSQL"
‫داده‬ ‫پایگاه‬ ‫انواع‬NOSql
‫معماری‬‫بر‬ ‫مبتنی‬ ‫ی‬‫ها‬‫سیستم‬NoSql‫است‬ ‫متفاوت‬ ‫آنها‬ ‫کاربرد‬ ‫و‬ ‫عملکرد‬ ‫نوع‬ ‫در‬ ‫تفاوت‬ ‫بخاطر‬.‫پایگاه‬ ‫انواع‬
‫داده‬NoSql‫شود‬‫می‬ ‫تقسیم‬ ‫مهم‬ ‫دسته‬ ‫چند‬ ‫به‬ ‫معماری‬ ‫نظر‬ ‫از‬:
‫های‬‫پایگاه‬‫کلید‬/‫مقدار‬
‫اسنادی‬ ‫ای‬‫داده‬ ‫های‬‫پایگاه‬
‫گرا‬‫ستون‬ ‫ای‬‫داده‬ ‫های‬‫پایگاه‬
‫های‬‫پایگاه‬‫گرافی‬ ‫ای‬‫داده‬
6
7
Github Diggs
Craigslist
FlickRWeibo
Pinterest
StackOve
rflow
Snapchat
‫سایت‬‫های‬‫بزرگی‬‫از‬ ‫که‬
Redis
‫میکنند‬ ‫استفاده‬
‫سیستم‬‫پشتیبانی‬ ‫قابل‬ ‫های‬ ‫عامل‬:
‫زبان‬ ‫به‬ ‫ردیس‬ANSI C‫های‬ ‫سیستم‬ ‫از‬ ‫بسیاری‬ ‫با‬ ‫و‬ ‫شده‬ ‫نوشته‬Posix‫لینوکس‬ ‫بزرگ‬ ‫خانواده‬ ‫مانند‬-‫یونیکس‬-
BSD‫مانند‬ ‫ها‬OpenBSD‫و‬FreeBSD‫و‬OSx‫نیاز‬ ‫پیش‬ ‫به‬ ‫نیاز‬ ‫بدون‬(dependency)‫کند‬ ‫می‬ ‫کار‬ ‫خارجی‬.
‫است‬ ‫شده‬ ‫آماده‬ ‫نیز‬ ‫ویندوز‬ ‫برای‬ ‫مایکروسافت‬ ‫شرکت‬ ‫توسط‬ ‫ردیس‬.
‫مورد‬ ‫در‬ ‫بیشتر‬ ‫مورد‬ ‫چند‬Redis‫بدانیم‬ ‫باید‬ ‫که‬:
‫زبان‬ ‫با‬C‫است‬ ‫شده‬ ‫نوشته‬
‫از‬Lua Scripting‫کند‬ ‫می‬ ‫پشتیبانی‬
‫فرض‬ ‫پیش‬ ‫صورت‬ ‫به‬replication‫دارد‬(‫سازي‬ ‫همانند‬
‫کند‬ ‫می‬ ‫استفاده‬ ‫ناهمزمان‬ ‫همانندسازی‬ ‫از‬ ‫ردیس‬)
‫دارای‬partitioning‫طریق‬ ‫از‬Redis Cluster‫هست‬
‫اون‬ ‫فرض‬ ‫پیش‬ ‫پورت‬6379‫هست‬
‫صورت‬ ‫به‬open source‫تحت‬ ‫و‬License BSD‫می‬ ‫داری‬ ‫نگه‬‫شود‬
)‫مجوزهای‬BSD‫و‬ ‫استفاده‬ ‫در‬ ‫کمتری‬ ‫های‬ ‫محدودیت‬ ‫که‬ ‫هستند‬ ‫مجاز‬ ‫رایگان‬ ‫افزار‬ ‫نرم‬ ‫مجوزهای‬ ‫از‬ ‫ای‬ ‫خانواده‬
‫دارند‬ ‫پوشش‬ ‫تحت‬ ‫افزارهای‬ ‫نرم‬ ‫توزیع‬).
8
Redis Cluster‫مدل‬ ‫یک‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫و‬ ‫کند‬ ‫می‬ ‫توزیع‬ ‫مختلف‬ ‫های‬ ‫گره‬ ‫بین‬ ‫را‬ ‫شما‬ ‫داده‬ ‫مجموعه‬master-slave‫امکان‬
‫کند‬ ‫می‬ ‫اضافه‬ ‫را‬ ‫دسترسی‬.‫شکل‬ ‫به‬ ‫مثال‬ ‫برای‬1‫کنید‬ ‫مراجعه‬
.
‫خوشه‬ ‫گره‬ ‫هر‬Redis‫اتصال‬ ‫دو‬ ‫به‬TCP‫دارد‬ ‫نیاز‬.‫عادی‬ ‫درگاه‬Redis TCP‫به‬ ‫دهی‬ ‫سرویس‬ ‫برای‬ ‫که‬
‫می‬ ‫استفاده‬ ‫ها‬ ‫مشتری‬‫شد‬
‫نسخه‬Redis‫نسخه‬3.0‫دارد‬ ‫نیاز‬ ‫باالتر‬ ‫یا‬.
‫متعدد‬ ‫های‬ ‫گره‬ ‫بین‬ ‫در‬ ‫خود‬ ‫های‬ ‫داده‬ ‫مجموعه‬ ‫خودکار‬ ‫تقسیم‬ ‫امکان‬.‫دچار‬ ‫ها‬ ‫گره‬ ‫مجموعه‬ ‫زیر‬ ‫که‬ ‫هنگامی‬ ‫عملیات‬ ‫ادامه‬ ‫امکان‬
‫نیستند‬ ‫خوشه‬ ‫بقیه‬ ‫با‬ ‫ارتباط‬ ‫برقراری‬ ‫به‬ ‫قادر‬ ‫یا‬ ‫شوند‬ ‫می‬ ‫خرابی‬
9
‫در‬ ‫سازي‬ ‫ذخیره‬Redis
1-‫پایگاه‬‫تر‬ ‫شده‬ ‫شناخته‬ ‫ای‬ ‫رابطه‬ ‫های‬ ‫داده‬ ‫پایگاه‬ ‫از‬ ‫متفاوت‬ ‫بسیار‬ ‫روشی‬ ‫با‬ ‫کلیدی‬ ‫ارزش‬ ‫های‬ ‫داده‬(RDB)‫کار‬
‫کنند‬ ‫می‬.
RDB‫های‬ ‫داده‬ ‫انواع‬ ‫با‬ ‫هایی‬ ‫زمینه‬ ‫شامل‬ ‫که‬ ‫جداول‬ ‫سری‬ ‫یک‬ ‫عنوان‬ ‫به‬ ‫را‬ ‫داده‬ ‫پایگاه‬ ‫در‬ ‫موجود‬ ‫داده‬ ‫ساختار‬ ‫ها‬
‫کنند‬ ‫می‬ ‫تعریف‬ ‫است‬ ‫شده‬ ‫تعریف‬.‫اکثر‬ ‫در‬ ‫که‬ ‫همانطور‬RDBً‫معموال‬ ‫کلیدی‬ ‫ارزش‬ ‫دارای‬ ‫های‬ ‫داده‬ ‫پایگاه‬ ، ‫ها‬
‫افزایش‬ ‫به‬ ‫منجر‬ ‫تواند‬ ‫می‬ ‫که‬ ، ‫کنند‬ ‫می‬ ‫استفاده‬ ‫داده‬ ‫پایگاه‬ ‫همان‬ ‫ذخیره‬ ‫برای‬ ‫کمتری‬ ‫مراتب‬ ‫به‬ ‫حافظه‬ ‫از‬
‫شود‬ ‫خاص‬ ‫کاری‬ ‫بارهای‬ ‫در‬ ‫بزرگ‬ ‫عملکرد‬.
2-Redis‫یک‬، ‫است‬ ‫دیسک‬ ‫دیتابیس‬ ‫در‬ ‫پایدار‬ ‫اما‬ ‫داخلی‬ ‫حافظه‬‫سرعت‬‫محدو‬ ‫با‬ ‫زیاد‬ ‫بسیار‬ ‫خواندن‬ ‫و‬ ‫نوشتن‬‫دیت‬
‫شود‬ ‫می‬ ‫حاصل‬ ‫نیستند‬ ‫بزرگتر‬ ‫حافظه‬ ‫از‬ ‫که‬ ‫هایی‬ ‫داده‬ ‫مجموعه‬.‫های‬ ‫داده‬ ‫پایگاه‬ ‫های‬ ‫مزیت‬ ‫از‬ ‫دیگر‬ ‫یکی‬
‫داده‬ ‫ساختار‬ ‫با‬ ‫مقایسه‬ ‫در‬ ‫دستکاری‬ ‫برای‬ ‫پیچیده‬ ‫داده‬ ‫ساختارهای‬ ‫حافظه‬ ‫نمایش‬ ‫که‬ ‫است‬ ‫این‬ ‫حافظه‬
، ‫است‬ ‫تر‬ ‫ساده‬ ‫بسیار‬ ‫دیسک‬ ‫روی‬ ‫مشابه‬
3-‫بنابراین‬Redis‫دهد‬ ‫انجام‬ ‫زیادی‬ ‫کارهای‬ ‫تواند‬ ‫می‬ ‫داخلی‬ ‫پیچیدگی‬ ‫کمی‬ ‫با‬.‫ذخیره‬ ‫قالب‬ ‫دو‬ ، ‫حال‬ ‫عین‬ ‫در‬
‫دیسک‬ ‫روی‬ ‫بر‬ ‫سازی‬(RDB‫و‬AOF)‫آنها‬ ‫بنابراین‬ ، ‫باشند‬ ‫مناسب‬ ‫تصادفی‬ ‫دسترسی‬ ‫برای‬ ‫که‬ ‫نیست‬ ‫الزم‬
‫شوند‬ ‫می‬ ‫تولید‬ ‫ضمیمه‬ ً‫صرفا‬ ‫روشی‬ ‫به‬ ‫همیشه‬ ‫و‬ ‫هستند‬ ‫جور‬ ‫و‬ ‫جمع‬(‫ورود‬ ‫چرخش‬ ‫حتی‬AOF‫ضمیمه‬ ‫یک‬
‫است‬-‫شود‬ ‫می‬ ‫تولید‬ ‫حافظه‬ ‫در‬ ‫ها‬ ‫داده‬ ‫کپی‬ ‫از‬ ‫جدید‬ ‫نسخه‬ ‫که‬ ‫آنجا‬ ‫از‬ ، ‫عملکرد‬ ‫فقط‬.)
RDB‫پشتیبان‬ ‫فایل‬ ‫برای‬Redis Database‫است‬.
‫پرونده‬RDB‫جدول‬ ‫یک‬ ‫در‬ ‫و‬ ‫داخلی‬ ‫فشرده‬ ‫سازی‬ ‫سریال‬ ‫قالب‬ ‫در‬ ‫که‬ ‫است‬ ‫کاربر‬ ‫های‬ ‫داده‬ ‫تمام‬ ‫از‬ ‫حوضچه‬ ‫یک‬
‫موقع‬ ‫به‬ ‫نقطه‬ ‫بازیابی‬ ‫برای‬ ‫که‬ ‫خاص‬ ‫زمانی‬(‫سنج‬ ‫زمان‬ ‫از‬ ‫بازیابی‬)‫است‬ ‫شده‬ ‫ذخیره‬ ، ‫شود‬ ‫می‬ ‫استفاده‬.
AOF‫مخفف‬Append Only File‫است‬.
AOF‫فایل‬ ‫یک‬ ‫بار‬ ‫یک‬ ‫آن‬ ‫در‬ ‫که‬ ‫است‬ ‫پایداری‬ ‫تکنیک‬ ‫یک‬ ‫واقع‬ ‫در‬RDB‫آن‬ ‫محض‬ ‫به‬ ‫ها‬ ‫داده‬ ‫تمام‬ ‫و‬ ‫شود‬ ‫می‬ ‫تولید‬
‫شوند‬ ‫می‬ ‫پیوست‬ ‫آن‬ ‫به‬.
10
‫سازي‬ ‫ذخیره‬ ‫قواعد‬Redis
‫کردن‬‫ذخیره‬‫است‬‫شده‬ ‫مشخص‬ ‫کاربر‬ ‫توسط‬ ‫که‬ ‫قواعدی‬ ‫طبق‬ ‫منظم‬ ‫های‬‫بازه‬ ‫در‬ ‫دیسک‬ ‫روی‬ ‫بر‬ ‫داده‬ ‫از‬ ‫نسخه‬ ‫یک‬،
•‫دوباره‬ ‫توان‬‫می‬ ‫سرور‬ ‫بعدی‬ ‫بازاجرای‬ ‫در‬ ‫را‬ ‫وقایع‬ ‫شرح‬ ‫این‬ ‫که‬ ،‫نوشتن‬ ‫درخواست‬ ‫هر‬ ‫دریافت‬ ‫از‬ ‫پس‬ ‫وقایع‬ ‫شرح‬ ‫در‬ ‫ثبت‬‫اجرا‬
‫کرد‬،
•‫ماندگاری‬ ‫کردن‬ ‫غیرفعال‬،
•‫اول‬ ‫حالت‬ ‫دو‬ ‫از‬ ‫ترکیبی‬.
‫کند‬ ‫تعریف‬ ‫زیر‬ ‫قاعده‬ ‫مانند‬ ‫قواعدی‬ ‫تواند‬‫می‬ ‫کاربر‬ ،‫اول‬ ‫حالت‬ ‫در‬:
save 60 1000
‫های‬‫بازه‬ ‫در‬ ‫که‬ ‫است‬ ‫معنا‬ ‫این‬ ‫به‬ ‫که‬۶۰‫حداقل‬ ‫اگر‬ ‫و‬ ،‫شود‬‫می‬ ‫بررسی‬ ‫سیستم‬ ‫حالت‬ ‫ای‬‫ثانیه‬۱۰۰۰‫یک‬ ،‫باشد‬ ‫شده‬ ‫انجام‬ ‫نوشتن‬ ‫عمل‬
‫شود‬‫می‬ ‫ذخیره‬ ‫دیسک‬ ‫روی‬ ‫بر‬ ‫داده‬ ‫از‬ ‫نسخه‬.‫کند‬ ‫تعریف‬ ‫چنین‬ ‫این‬ ‫قاعده‬ ‫چندین‬ ‫تواند‬‫می‬ ‫کاربر‬.‫ک‬ ‫دیگری‬ ٔ‫ه‬‫قاعد‬ ً‫ال‬‫مث‬‫از‬ ‫پس‬ ‫اگر‬ ‫ه‬۱۰
‫از‬ ‫بیش‬ ‫تغییرات‬ ‫میزان‬ ‫ثانیه‬۲۰۰۰‫شود‬ ‫ذخیره‬ ‫دیسک‬ ‫روی‬ ‫بر‬ ‫نسخه‬ ‫یک‬ ‫بود‬.
‫در‬‫وقایع‬ ‫شرح‬ ‫در‬ ‫رخدادها‬ ‫ثبت‬ ‫یعنی‬ ،‫دوم‬ ‫حالت‬(log)،‫دارد‬ ‫وجود‬ ‫گزینه‬ ‫چندین‬:
•‫نوشتن‬ ‫عمل‬ ‫محض‬ ‫به‬ ‫دیسک‬ ‫فیزیکی‬ ‫حالت‬ ‫با‬ ‫فایل‬ ‫حالت‬ ‫کردن‬‫هماهنگ‬(‫کندترین‬ ‫ولی‬ ،‫گزینه‬ ‫ترین‬‫امن‬)،
•‫ثانیه‬ ‫یک‬ ‫هر‬ ‫در‬ ‫دیسک‬ ‫فیزیکی‬ ‫حالت‬ ‫با‬ ‫فایل‬ ‫حالت‬ ‫کردن‬‫هماهنگ‬(‫داده‬ ‫ثانیه‬ ‫یک‬ ‫حداکثر‬ ‫دادن‬ ‫دست‬ ‫از‬ ‫امکان‬)،
•‫کردن‬‫هماهنگ‬‫عامل‬‫سیستم‬ ‫به‬ ‫دیسک‬ ‫فیزیکی‬ ‫حالت‬ ‫با‬ ‫فایل‬ ‫حالت‬(‫ترین‬‫ناامن‬ ‫ولی‬ ،‫گزینه‬ ‫تندترین‬).
‫ردیس‬‫نسخه‬ ‫از‬۲٫۶‫به‬ ‫نویسی‬‫اسکریپ‬ ‫از‬‫لوا‬ ‫زبان‬‫پشتیبانی‬‫کند‬‫می‬‫این‬‫ع‬ ‫از‬ ‫ای‬‫دنباله‬ ‫که‬ ‫دهد‬‫می‬ ‫را‬ ‫امکان‬ ‫این‬ ‫کاربر‬ ‫به‬ ‫ویژگی‬‫ملیات‬
‫صورت‬ ‫به‬ ‫سرور‬ ‫سمت‬ ‫در‬ ‫را‬‫ناپذیر‬‫تجزیه‬‫کند‬ ‫اجرا‬.‫پیچی‬ ‫داده‬ ‫ساختارهای‬ ‫ویژگی‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫تواند‬‫می‬ ‫کاربر‬ ،‫دلیل‬ ‫همین‬ ‫به‬‫تری‬‫ده‬
‫سازی‬‫پیاده‬ ‫ردیس‬ ‫سرور‬ ‫در‬ ‫را‬‫کند‬.
11
‫پايان‬
☺‫تون‬ ‫توجه‬ ‫از‬ ‫ممنون‬☺
‫زاده‬ ‫نجفي‬ ‫نرگس‬
12

Más contenido relacionado

Similar a Redis.

آشنایی با Hadoop
آشنایی با Hadoopآشنایی با Hadoop
آشنایی با Hadoopnasser rezaei
 
سیستم فایل HDFS
سیستم فایل HDFSسیستم فایل HDFS
سیستم فایل HDFSnasser rezaei
 
Introduction to oracle
Introduction to oracleIntroduction to oracle
Introduction to oracleEhsan Hamzei
 
Introduction to Hadoop and Spark - اسلاید کارگاه آموزش هدوپ و اسپارک شیراز
Introduction to Hadoop and Spark - اسلاید کارگاه آموزش هدوپ و اسپارک شیرازIntroduction to Hadoop and Spark - اسلاید کارگاه آموزش هدوپ و اسپارک شیراز
Introduction to Hadoop and Spark - اسلاید کارگاه آموزش هدوپ و اسپارک شیرازMobin Ranjbar
 
1st Hadoop Tehran Workshop - اسلاید اولین کارگاه آموزش هدوپ تهران
1st Hadoop Tehran Workshop - اسلاید اولین کارگاه آموزش هدوپ تهران1st Hadoop Tehran Workshop - اسلاید اولین کارگاه آموزش هدوپ تهران
1st Hadoop Tehran Workshop - اسلاید اولین کارگاه آموزش هدوپ تهرانFarafekr Technology
 
Raid type, Raid تکنولوژی ,
Raid type, Raid  تکنولوژی , Raid type, Raid  تکنولوژی ,
Raid type, Raid تکنولوژی , abbas pirnazaraine
 
چرا نود.جی اس؟
چرا نود.جی اس؟چرا نود.جی اس؟
چرا نود.جی اس؟Masoud Sharifi
 
آموزش Sql
آموزش Sqlآموزش Sql
آموزش Sqlaminifar
 
آموزش Sql
آموزش Sqlآموزش Sql
آموزش Sqlaminifar
 
ورودی خروجی Hadoop
ورودی خروجی Hadoopورودی خروجی Hadoop
ورودی خروجی Hadoopnasser rezaei
 

Similar a Redis. (20)

Raid
RaidRaid
Raid
 
آشنایی با Hadoop
آشنایی با Hadoopآشنایی با Hadoop
آشنایی با Hadoop
 
how upgrade ceph
how upgrade cephhow upgrade ceph
how upgrade ceph
 
how enable ceph dashboard
how enable  ceph dashboardhow enable  ceph dashboard
how enable ceph dashboard
 
سیستم فایل HDFS
سیستم فایل HDFSسیستم فایل HDFS
سیستم فایل HDFS
 
Introduction to oracle
Introduction to oracleIntroduction to oracle
Introduction to oracle
 
Rbdmap ceph realease 0.2
Rbdmap ceph realease 0.2Rbdmap ceph realease 0.2
Rbdmap ceph realease 0.2
 
rbdmap in ceph
rbdmap in ceph rbdmap in ceph
rbdmap in ceph
 
Pg autoscaling in ceph
Pg autoscaling in  cephPg autoscaling in  ceph
Pg autoscaling in ceph
 
Introduction to Hadoop and Spark - اسلاید کارگاه آموزش هدوپ و اسپارک شیراز
Introduction to Hadoop and Spark - اسلاید کارگاه آموزش هدوپ و اسپارک شیرازIntroduction to Hadoop and Spark - اسلاید کارگاه آموزش هدوپ و اسپارک شیراز
Introduction to Hadoop and Spark - اسلاید کارگاه آموزش هدوپ و اسپارک شیراز
 
1st Hadoop Tehran Workshop - اسلاید اولین کارگاه آموزش هدوپ تهران
1st Hadoop Tehran Workshop - اسلاید اولین کارگاه آموزش هدوپ تهران1st Hadoop Tehran Workshop - اسلاید اولین کارگاه آموزش هدوپ تهران
1st Hadoop Tehran Workshop - اسلاید اولین کارگاه آموزش هدوپ تهران
 
Raid type, Raid تکنولوژی ,
Raid type, Raid  تکنولوژی , Raid type, Raid  تکنولوژی ,
Raid type, Raid تکنولوژی ,
 
چرا نود.جی اس؟
چرا نود.جی اس؟چرا نود.جی اس؟
چرا نود.جی اس؟
 
How Create Waf With Naxsi
How Create Waf With NaxsiHow Create Waf With Naxsi
How Create Waf With Naxsi
 
IranOUG_Oracle_Multitenant
IranOUG_Oracle_MultitenantIranOUG_Oracle_Multitenant
IranOUG_Oracle_Multitenant
 
آموزش Sql
آموزش Sqlآموزش Sql
آموزش Sql
 
آموزش Sql
آموزش Sqlآموزش Sql
آموزش Sql
 
MongoDB
MongoDBMongoDB
MongoDB
 
Varnish
VarnishVarnish
Varnish
 
ورودی خروجی Hadoop
ورودی خروجی Hadoopورودی خروجی Hadoop
ورودی خروجی Hadoop
 

Redis.

  • 2. Redis‫یا‬Remote Dictionary Server‫داده‬‫پایگاه‬ ‫نوع‬ ‫یک‬‫باشد‬‫می‬(‫با‬ ‫و‬ ‫باز‬ ‫متن‬memcache). ‫در‬‫واقع‬Redis‫در‬ ‫ای‬‫داده‬ ‫ساختارهای‬ ‫ساز‬‫ذخیره‬ ‫یک‬RAM‫باشد‬‫می‬.‫یا‬ ‫ای‬‫داده‬ ‫ساختارهای‬Data Structure‫یک‬ ‫توانند‬‫می‬ ‫ها‬‫داده‬ ‫از‬ ‫لیستی‬ ‫یک‬ ‫یا‬ ‫و‬ ‫ساده‬ ‫رشته‬‫باشند‬.Redis‫داخل‬ ‫را‬ ‫ای‬‫داده‬ ‫ساختارهای‬RAM‫با‬ ‫توانیم‬‫می‬ ‫و‬ ‫کرده‬ ‫نگهداری‬ ‫ما‬ ‫برای‬ ‫کنیم‬ ‫بازیابی‬ ‫را‬ ‫ها‬‫آن‬ ‫باال‬ ‫سرعت‬. ‫که‬ ‫آنجایی‬ ‫از‬Redis‫داخل‬ ‫در‬ ‫اطالعات‬ ‫از‬ ‫چون‬ ‫و‬ ‫است‬ ‫دیتابیس‬ ‫نوع‬ ‫یک‬ ‫کند‬‫می‬ ‫بازیابی‬ ‫و‬ ‫ذخیره‬ ‫را‬ ‫ها‬‫داده‬RAM‫نگهداری‬ ‫اصطالحا‬ ‫کند‬‫می‬In-Memory Database‫شود‬‫می‬ ‫گذاری‬ ‫نام‬. ‫در‬ ‫که‬ ‫ای‬ ‫داده‬ ‫هر‬ ‫برای‬ ‫اما‬Redis‫یک‬ ‫کنیم‬ ‫می‬ ‫ذخیره‬key‫این‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫بازیابی‬ ‫زمان‬ ‫و‬ ‫داریم‬ ‫کلید‬ ‫یا‬key‫به‬ ‫که‬ ‫هست‬ ‫همان‬ ‫که‬ ‫خودمون‬ ‫داده‬value‫این‬ ‫بنابر‬ ‫و‬ ‫رسیم‬ ‫می‬ ‫هست‬Redis‫یک‬key value database‫هست‬.‫پس‬Redis‫دیتابیس‬ ‫یک‬ NoSql‫از‬ ‫استفاده‬ ‫بر‬ ‫عالوه‬ ‫اما‬ ‫باشد‬ ‫می‬Redis‫ویژگی‬ ‫به‬ ‫توجه‬ ‫با‬ ‫بیس‬ ‫دیتا‬ ‫عنوان‬ ‫به‬‫های‬‫دارد‬ ‫كه‬Redis‫به‬ ‫رو‬ ‫عنوان‬Cache‫و‬Message Broker‫کنیم‬ ‫استفاده‬ ‫هم‬.‫که‬ ‫تفاوتی‬Redis‫باشد‬‫می‬ ‫آن‬ ‫العاده‬‫فوق‬ ‫سرعت‬ ‫دارد‬ ‫ها‬‫داده‬‫پایگاه‬ ‫دیگر‬ ‫با‬. 2
  • 3. ‫در‬ ‫كه‬ ‫هايي‬ ‫داده‬ ‫انواع‬Redis‫پشتیبانی‬‫میشود‬: 3 Strings -‫رشته‬: ‫از‬ ‫حداکثر‬ ‫رشته‬ ‫یک‬ ‫باشند‬ ‫ای‬ ‫داده‬ ‫نوع‬ ‫هر‬ ‫میتوانند‬ ‫ها‬ ‫رشته‬512‫کند‬ ‫می‬ ‫پشتیبانی‬ ‫مگابایت‬. Lists -‫لیست‬: ‫یا‬ ‫اول‬ ‫به‬ ‫میتوان‬ ‫اند‬ ‫شده‬ ‫مرتب‬ ‫درج‬ ‫ترتیب‬ ‫به‬ ‫که‬ ‫هستند‬ ‫ها‬ ‫رشته‬ ‫از‬ ‫ای‬ ‫مجموعه‬ ‫واقع‬ ‫در‬ ‫ها‬ ‫لیست‬ ‫کرد‬ ‫اضافه‬ ‫جدید‬ ‫عنصر‬ ‫یک‬ ‫لیست‬ ‫انتهای‬. Sets -‫مجموعه‬: ‫اضاف‬ ‫جدید‬ ‫رشته‬ ‫مجموعه‬ ‫یک‬ ‫در‬ ‫میتوان‬ ‫هستند‬ ‫ها‬ ‫رشته‬ ‫از‬ ‫ترتیب‬ ‫بدون‬ ‫کلکسیون‬ ‫واقع‬ ‫در‬ ‫مجموعه‬‫یا‬ ‫ه‬ ‫کرد‬ ‫جستجو‬ ‫یا‬ ‫حذف‬. Sorted Sets -‫مرتب‬ ‫مجموعه‬: ‫یابد‬ ‫می‬ ‫تخصیص‬ ‫امتیاز‬ ‫یک‬ ‫مرتب‬ ‫مجموعه‬ ‫عنصر‬ ‫هر‬ ‫به‬ ‫که‬ ‫تفاوت‬ ‫این‬ ‫با‬ ‫است‬ ‫مجموعه‬ ‫همانند‬. Hashes -‫َش‬‫ه‬: ‫نیاز‬ ‫مقدار‬ ‫به‬ ‫دسترسی‬ ‫برای‬ ‫که‬ ‫دهد‬ ‫می‬ ‫قرار‬ ‫ها‬ ‫آن‬ ‫بین‬ ‫جدید‬ ‫رشته‬ ‫یک‬ ‫و‬ ‫است‬ ‫مقدار‬ ‫و‬ ‫کلید‬ ‫بین‬ ‫نگاشتی‬ ‫واقع‬ ‫در‬ ‫َش‬‫ه‬‫هش‬ ‫و‬ ‫کلید‬ ‫به‬ ‫است‬ ‫همزمان‬ ‫صورت‬ ‫به‬.
  • 4. 4 ‫های‬ ‫ویژگی‬ Redis ‫سازگاری‬‫های‬‫زبان‬ ‫اکثر‬ ‫با‬ ‫نویسی‬‫برنامه‬ ‫مبتنی‬‫حالت‬ ‫بر‬‫کلی‬ Key/Value ‫د‬‫مقدار‬ ‫و‬‫یا‬ ‫حافظه‬ ‫عنوان‬ ‫به‬ ‫استفاده‬ ‫یا‬ ‫نهان‬Cache ‫سیستم‬‫سازی‬‫ذخیره‬ in-memory data structure ‫پشتیبانی‬‫هش‬ ‫جداول‬ ‫از‬ (Hash)‫و‬‫قابلیت‬ Hyperv LogLog ‫استفاده‬‫سیستم‬ ‫از‬‫تکثی‬‫ر‬ master-slave replication Bash, C,C#,C++, Go ,java,Matlab,node.js,Perl,PHP ,Ruby,Swift,Python,VB
  • 5. ‫کاربرد‬Caching‫در‬Redis‫چیست؟‬(‫توجه‬ ‫جالب‬ ‫ویژگی‬ ‫یک‬ ‫توسعه‬ ‫برای‬ ‫داده‬ ‫ساختار‬ ‫دو‬ ‫یا‬ ‫یک‬ ‫از‬ ‫کنید‬‫می‬ ‫استفاده‬) ‫از‬ ‫زمانی‬Caching‫دی‬ ‫عبارت‬ ‫به‬ ،‫شود‬ ‫انجام‬ ‫کمتر‬ ‫دیسک‬ ‫هارد‬ ‫به‬ ‫دسترسی‬ ‫باشیم‬ ‫داشته‬ ‫قصد‬ ‫که‬ ‫شود‬‫می‬ ‫استفاده‬‫گر‬ Caching‫را‬ ‫ها‬‫آن‬ ‫بارگذاری‬ ‫و‬ ‫اطالعات‬ ‫به‬ ‫دسترسی‬ ‫سرعت‬ ‫فرآیند‬ ‫این‬ ‫که‬ ‫شود‬‫می‬ ‫ذخیره‬ ‫موقت‬ ‫حافظه‬ ‫در‬ ‫اطالعات‬ ‫دهد‬‫می‬ ‫افزایش‬.‫دریاف‬ ‫بار‬ ‫یک‬ ‫اطالعات‬ ‫این‬ ،‫سرورها‬ ‫از‬ ‫اطالعات‬ ‫بازخوانی‬ ‫برای‬ ‫مراجعه‬ ‫بار‬ ‫چندین‬ ‫جای‬ ‫به‬ ‫ترتیب‬ ‫این‬ ‫به‬‫ت‬ ‫همان‬ ‫که‬ ‫نهان‬ ‫حافظه‬ ‫قالب‬ ‫در‬ ‫و‬ ‫شده‬Caching‫قرار‬ ‫ردیس‬ ‫در‬ ‫است‬‫گیرد‬‫می‬.‫و‬ ‫موقتی‬ ‫حافظه‬ ‫در‬ ‫اطالعات‬ ‫ردیس‬ ‫در‬ Cache‫امکان‬ ‫شود‬ ‫انجام‬ ‫بیشتری‬ ‫بسیار‬ ‫سرعت‬ ‫با‬ ‫ها‬‫آن‬ ‫به‬ ‫دسترسی‬ ‫شود‬‫می‬ ‫باعث‬ ‫امر‬ ‫این‬ ،‫شوند‬‫می‬ ‫ذخیره‬ ‫در‬ ‫را‬ ‫اطالعات‬ ‫دائمی‬ ‫سازی‬‫ذخیره‬Redis‫داشت‬ ‫نخواهید‬.‫روی‬ ‫دیگر‬ ‫طرف‬ ‫از‬ ‫اما‬Redis،‫ها‬‫کوکی‬ ‫ذخیره‬ ‫برای‬Session، ‫ها‬‫داده‬ ‫گذاری‬‫اشتراک‬ ‫به‬ ‫و‬ ‫کاربران‬ ‫خروج‬ ‫و‬ ‫ورود‬ ‫به‬ ‫مربوط‬ ‫اطالعات‬‫توانید‬‫می‬‫کنید‬ ‫باز‬ ‫حساب‬.‫عبارت‬‫به‬‫ای‬‫داده‬ ‫هر‬ ‫تر‬‫ساده‬ ‫کهلزومی‬‫ندارد‬ ‫دائم‬ ‫ذخیره‬ ‫به‬‫توان‬‫رامی‬‫با‬Redis‫کرد‬ ‫مدیریت‬. ‫ایمی‬ ‫آدرس‬ ‫اساس‬ ‫بر‬ ‫را‬ ‫آنها‬ ‫خواهید‬‫می‬ ‫و‬ ‫هستند‬ ‫ایمیل‬ ‫شامل‬ ‫شما‬ ‫کاربران‬ ‫های‬‫داده‬ ‫که‬ ‫کنید‬ ‫فرض‬ ً‫مثال‬‫ل‬ ‫کنید‬ ‫مرتب‬.‫گفت‬ ‫خواهید‬ ‫اینصورت‬ ‫در‬: SORT userIds By user:*->email 5
  • 6. "‫داده‬ ‫پایگاه‬NOSQL" ‫داده‬ ‫پایگاه‬ ‫انواع‬NOSql ‫معماری‬‫بر‬ ‫مبتنی‬ ‫ی‬‫ها‬‫سیستم‬NoSql‫است‬ ‫متفاوت‬ ‫آنها‬ ‫کاربرد‬ ‫و‬ ‫عملکرد‬ ‫نوع‬ ‫در‬ ‫تفاوت‬ ‫بخاطر‬.‫پایگاه‬ ‫انواع‬ ‫داده‬NoSql‫شود‬‫می‬ ‫تقسیم‬ ‫مهم‬ ‫دسته‬ ‫چند‬ ‫به‬ ‫معماری‬ ‫نظر‬ ‫از‬: ‫های‬‫پایگاه‬‫کلید‬/‫مقدار‬ ‫اسنادی‬ ‫ای‬‫داده‬ ‫های‬‫پایگاه‬ ‫گرا‬‫ستون‬ ‫ای‬‫داده‬ ‫های‬‫پایگاه‬ ‫های‬‫پایگاه‬‫گرافی‬ ‫ای‬‫داده‬ 6
  • 8. ‫سیستم‬‫پشتیبانی‬ ‫قابل‬ ‫های‬ ‫عامل‬: ‫زبان‬ ‫به‬ ‫ردیس‬ANSI C‫های‬ ‫سیستم‬ ‫از‬ ‫بسیاری‬ ‫با‬ ‫و‬ ‫شده‬ ‫نوشته‬Posix‫لینوکس‬ ‫بزرگ‬ ‫خانواده‬ ‫مانند‬-‫یونیکس‬- BSD‫مانند‬ ‫ها‬OpenBSD‫و‬FreeBSD‫و‬OSx‫نیاز‬ ‫پیش‬ ‫به‬ ‫نیاز‬ ‫بدون‬(dependency)‫کند‬ ‫می‬ ‫کار‬ ‫خارجی‬. ‫است‬ ‫شده‬ ‫آماده‬ ‫نیز‬ ‫ویندوز‬ ‫برای‬ ‫مایکروسافت‬ ‫شرکت‬ ‫توسط‬ ‫ردیس‬. ‫مورد‬ ‫در‬ ‫بیشتر‬ ‫مورد‬ ‫چند‬Redis‫بدانیم‬ ‫باید‬ ‫که‬: ‫زبان‬ ‫با‬C‫است‬ ‫شده‬ ‫نوشته‬ ‫از‬Lua Scripting‫کند‬ ‫می‬ ‫پشتیبانی‬ ‫فرض‬ ‫پیش‬ ‫صورت‬ ‫به‬replication‫دارد‬(‫سازي‬ ‫همانند‬ ‫کند‬ ‫می‬ ‫استفاده‬ ‫ناهمزمان‬ ‫همانندسازی‬ ‫از‬ ‫ردیس‬) ‫دارای‬partitioning‫طریق‬ ‫از‬Redis Cluster‫هست‬ ‫اون‬ ‫فرض‬ ‫پیش‬ ‫پورت‬6379‫هست‬ ‫صورت‬ ‫به‬open source‫تحت‬ ‫و‬License BSD‫می‬ ‫داری‬ ‫نگه‬‫شود‬ )‫مجوزهای‬BSD‫و‬ ‫استفاده‬ ‫در‬ ‫کمتری‬ ‫های‬ ‫محدودیت‬ ‫که‬ ‫هستند‬ ‫مجاز‬ ‫رایگان‬ ‫افزار‬ ‫نرم‬ ‫مجوزهای‬ ‫از‬ ‫ای‬ ‫خانواده‬ ‫دارند‬ ‫پوشش‬ ‫تحت‬ ‫افزارهای‬ ‫نرم‬ ‫توزیع‬). 8
  • 9. Redis Cluster‫مدل‬ ‫یک‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫و‬ ‫کند‬ ‫می‬ ‫توزیع‬ ‫مختلف‬ ‫های‬ ‫گره‬ ‫بین‬ ‫را‬ ‫شما‬ ‫داده‬ ‫مجموعه‬master-slave‫امکان‬ ‫کند‬ ‫می‬ ‫اضافه‬ ‫را‬ ‫دسترسی‬.‫شکل‬ ‫به‬ ‫مثال‬ ‫برای‬1‫کنید‬ ‫مراجعه‬ . ‫خوشه‬ ‫گره‬ ‫هر‬Redis‫اتصال‬ ‫دو‬ ‫به‬TCP‫دارد‬ ‫نیاز‬.‫عادی‬ ‫درگاه‬Redis TCP‫به‬ ‫دهی‬ ‫سرویس‬ ‫برای‬ ‫که‬ ‫می‬ ‫استفاده‬ ‫ها‬ ‫مشتری‬‫شد‬ ‫نسخه‬Redis‫نسخه‬3.0‫دارد‬ ‫نیاز‬ ‫باالتر‬ ‫یا‬. ‫متعدد‬ ‫های‬ ‫گره‬ ‫بین‬ ‫در‬ ‫خود‬ ‫های‬ ‫داده‬ ‫مجموعه‬ ‫خودکار‬ ‫تقسیم‬ ‫امکان‬.‫دچار‬ ‫ها‬ ‫گره‬ ‫مجموعه‬ ‫زیر‬ ‫که‬ ‫هنگامی‬ ‫عملیات‬ ‫ادامه‬ ‫امکان‬ ‫نیستند‬ ‫خوشه‬ ‫بقیه‬ ‫با‬ ‫ارتباط‬ ‫برقراری‬ ‫به‬ ‫قادر‬ ‫یا‬ ‫شوند‬ ‫می‬ ‫خرابی‬ 9
  • 10. ‫در‬ ‫سازي‬ ‫ذخیره‬Redis 1-‫پایگاه‬‫تر‬ ‫شده‬ ‫شناخته‬ ‫ای‬ ‫رابطه‬ ‫های‬ ‫داده‬ ‫پایگاه‬ ‫از‬ ‫متفاوت‬ ‫بسیار‬ ‫روشی‬ ‫با‬ ‫کلیدی‬ ‫ارزش‬ ‫های‬ ‫داده‬(RDB)‫کار‬ ‫کنند‬ ‫می‬. RDB‫های‬ ‫داده‬ ‫انواع‬ ‫با‬ ‫هایی‬ ‫زمینه‬ ‫شامل‬ ‫که‬ ‫جداول‬ ‫سری‬ ‫یک‬ ‫عنوان‬ ‫به‬ ‫را‬ ‫داده‬ ‫پایگاه‬ ‫در‬ ‫موجود‬ ‫داده‬ ‫ساختار‬ ‫ها‬ ‫کنند‬ ‫می‬ ‫تعریف‬ ‫است‬ ‫شده‬ ‫تعریف‬.‫اکثر‬ ‫در‬ ‫که‬ ‫همانطور‬RDBً‫معموال‬ ‫کلیدی‬ ‫ارزش‬ ‫دارای‬ ‫های‬ ‫داده‬ ‫پایگاه‬ ، ‫ها‬ ‫افزایش‬ ‫به‬ ‫منجر‬ ‫تواند‬ ‫می‬ ‫که‬ ، ‫کنند‬ ‫می‬ ‫استفاده‬ ‫داده‬ ‫پایگاه‬ ‫همان‬ ‫ذخیره‬ ‫برای‬ ‫کمتری‬ ‫مراتب‬ ‫به‬ ‫حافظه‬ ‫از‬ ‫شود‬ ‫خاص‬ ‫کاری‬ ‫بارهای‬ ‫در‬ ‫بزرگ‬ ‫عملکرد‬. 2-Redis‫یک‬، ‫است‬ ‫دیسک‬ ‫دیتابیس‬ ‫در‬ ‫پایدار‬ ‫اما‬ ‫داخلی‬ ‫حافظه‬‫سرعت‬‫محدو‬ ‫با‬ ‫زیاد‬ ‫بسیار‬ ‫خواندن‬ ‫و‬ ‫نوشتن‬‫دیت‬ ‫شود‬ ‫می‬ ‫حاصل‬ ‫نیستند‬ ‫بزرگتر‬ ‫حافظه‬ ‫از‬ ‫که‬ ‫هایی‬ ‫داده‬ ‫مجموعه‬.‫های‬ ‫داده‬ ‫پایگاه‬ ‫های‬ ‫مزیت‬ ‫از‬ ‫دیگر‬ ‫یکی‬ ‫داده‬ ‫ساختار‬ ‫با‬ ‫مقایسه‬ ‫در‬ ‫دستکاری‬ ‫برای‬ ‫پیچیده‬ ‫داده‬ ‫ساختارهای‬ ‫حافظه‬ ‫نمایش‬ ‫که‬ ‫است‬ ‫این‬ ‫حافظه‬ ، ‫است‬ ‫تر‬ ‫ساده‬ ‫بسیار‬ ‫دیسک‬ ‫روی‬ ‫مشابه‬ 3-‫بنابراین‬Redis‫دهد‬ ‫انجام‬ ‫زیادی‬ ‫کارهای‬ ‫تواند‬ ‫می‬ ‫داخلی‬ ‫پیچیدگی‬ ‫کمی‬ ‫با‬.‫ذخیره‬ ‫قالب‬ ‫دو‬ ، ‫حال‬ ‫عین‬ ‫در‬ ‫دیسک‬ ‫روی‬ ‫بر‬ ‫سازی‬(RDB‫و‬AOF)‫آنها‬ ‫بنابراین‬ ، ‫باشند‬ ‫مناسب‬ ‫تصادفی‬ ‫دسترسی‬ ‫برای‬ ‫که‬ ‫نیست‬ ‫الزم‬ ‫شوند‬ ‫می‬ ‫تولید‬ ‫ضمیمه‬ ً‫صرفا‬ ‫روشی‬ ‫به‬ ‫همیشه‬ ‫و‬ ‫هستند‬ ‫جور‬ ‫و‬ ‫جمع‬(‫ورود‬ ‫چرخش‬ ‫حتی‬AOF‫ضمیمه‬ ‫یک‬ ‫است‬-‫شود‬ ‫می‬ ‫تولید‬ ‫حافظه‬ ‫در‬ ‫ها‬ ‫داده‬ ‫کپی‬ ‫از‬ ‫جدید‬ ‫نسخه‬ ‫که‬ ‫آنجا‬ ‫از‬ ، ‫عملکرد‬ ‫فقط‬.) RDB‫پشتیبان‬ ‫فایل‬ ‫برای‬Redis Database‫است‬. ‫پرونده‬RDB‫جدول‬ ‫یک‬ ‫در‬ ‫و‬ ‫داخلی‬ ‫فشرده‬ ‫سازی‬ ‫سریال‬ ‫قالب‬ ‫در‬ ‫که‬ ‫است‬ ‫کاربر‬ ‫های‬ ‫داده‬ ‫تمام‬ ‫از‬ ‫حوضچه‬ ‫یک‬ ‫موقع‬ ‫به‬ ‫نقطه‬ ‫بازیابی‬ ‫برای‬ ‫که‬ ‫خاص‬ ‫زمانی‬(‫سنج‬ ‫زمان‬ ‫از‬ ‫بازیابی‬)‫است‬ ‫شده‬ ‫ذخیره‬ ، ‫شود‬ ‫می‬ ‫استفاده‬. AOF‫مخفف‬Append Only File‫است‬. AOF‫فایل‬ ‫یک‬ ‫بار‬ ‫یک‬ ‫آن‬ ‫در‬ ‫که‬ ‫است‬ ‫پایداری‬ ‫تکنیک‬ ‫یک‬ ‫واقع‬ ‫در‬RDB‫آن‬ ‫محض‬ ‫به‬ ‫ها‬ ‫داده‬ ‫تمام‬ ‫و‬ ‫شود‬ ‫می‬ ‫تولید‬ ‫شوند‬ ‫می‬ ‫پیوست‬ ‫آن‬ ‫به‬. 10
  • 11. ‫سازي‬ ‫ذخیره‬ ‫قواعد‬Redis ‫کردن‬‫ذخیره‬‫است‬‫شده‬ ‫مشخص‬ ‫کاربر‬ ‫توسط‬ ‫که‬ ‫قواعدی‬ ‫طبق‬ ‫منظم‬ ‫های‬‫بازه‬ ‫در‬ ‫دیسک‬ ‫روی‬ ‫بر‬ ‫داده‬ ‫از‬ ‫نسخه‬ ‫یک‬، •‫دوباره‬ ‫توان‬‫می‬ ‫سرور‬ ‫بعدی‬ ‫بازاجرای‬ ‫در‬ ‫را‬ ‫وقایع‬ ‫شرح‬ ‫این‬ ‫که‬ ،‫نوشتن‬ ‫درخواست‬ ‫هر‬ ‫دریافت‬ ‫از‬ ‫پس‬ ‫وقایع‬ ‫شرح‬ ‫در‬ ‫ثبت‬‫اجرا‬ ‫کرد‬، •‫ماندگاری‬ ‫کردن‬ ‫غیرفعال‬، •‫اول‬ ‫حالت‬ ‫دو‬ ‫از‬ ‫ترکیبی‬. ‫کند‬ ‫تعریف‬ ‫زیر‬ ‫قاعده‬ ‫مانند‬ ‫قواعدی‬ ‫تواند‬‫می‬ ‫کاربر‬ ،‫اول‬ ‫حالت‬ ‫در‬: save 60 1000 ‫های‬‫بازه‬ ‫در‬ ‫که‬ ‫است‬ ‫معنا‬ ‫این‬ ‫به‬ ‫که‬۶۰‫حداقل‬ ‫اگر‬ ‫و‬ ،‫شود‬‫می‬ ‫بررسی‬ ‫سیستم‬ ‫حالت‬ ‫ای‬‫ثانیه‬۱۰۰۰‫یک‬ ،‫باشد‬ ‫شده‬ ‫انجام‬ ‫نوشتن‬ ‫عمل‬ ‫شود‬‫می‬ ‫ذخیره‬ ‫دیسک‬ ‫روی‬ ‫بر‬ ‫داده‬ ‫از‬ ‫نسخه‬.‫کند‬ ‫تعریف‬ ‫چنین‬ ‫این‬ ‫قاعده‬ ‫چندین‬ ‫تواند‬‫می‬ ‫کاربر‬.‫ک‬ ‫دیگری‬ ٔ‫ه‬‫قاعد‬ ً‫ال‬‫مث‬‫از‬ ‫پس‬ ‫اگر‬ ‫ه‬۱۰ ‫از‬ ‫بیش‬ ‫تغییرات‬ ‫میزان‬ ‫ثانیه‬۲۰۰۰‫شود‬ ‫ذخیره‬ ‫دیسک‬ ‫روی‬ ‫بر‬ ‫نسخه‬ ‫یک‬ ‫بود‬. ‫در‬‫وقایع‬ ‫شرح‬ ‫در‬ ‫رخدادها‬ ‫ثبت‬ ‫یعنی‬ ،‫دوم‬ ‫حالت‬(log)،‫دارد‬ ‫وجود‬ ‫گزینه‬ ‫چندین‬: •‫نوشتن‬ ‫عمل‬ ‫محض‬ ‫به‬ ‫دیسک‬ ‫فیزیکی‬ ‫حالت‬ ‫با‬ ‫فایل‬ ‫حالت‬ ‫کردن‬‫هماهنگ‬(‫کندترین‬ ‫ولی‬ ،‫گزینه‬ ‫ترین‬‫امن‬)، •‫ثانیه‬ ‫یک‬ ‫هر‬ ‫در‬ ‫دیسک‬ ‫فیزیکی‬ ‫حالت‬ ‫با‬ ‫فایل‬ ‫حالت‬ ‫کردن‬‫هماهنگ‬(‫داده‬ ‫ثانیه‬ ‫یک‬ ‫حداکثر‬ ‫دادن‬ ‫دست‬ ‫از‬ ‫امکان‬)، •‫کردن‬‫هماهنگ‬‫عامل‬‫سیستم‬ ‫به‬ ‫دیسک‬ ‫فیزیکی‬ ‫حالت‬ ‫با‬ ‫فایل‬ ‫حالت‬(‫ترین‬‫ناامن‬ ‫ولی‬ ،‫گزینه‬ ‫تندترین‬). ‫ردیس‬‫نسخه‬ ‫از‬۲٫۶‫به‬ ‫نویسی‬‫اسکریپ‬ ‫از‬‫لوا‬ ‫زبان‬‫پشتیبانی‬‫کند‬‫می‬‫این‬‫ع‬ ‫از‬ ‫ای‬‫دنباله‬ ‫که‬ ‫دهد‬‫می‬ ‫را‬ ‫امکان‬ ‫این‬ ‫کاربر‬ ‫به‬ ‫ویژگی‬‫ملیات‬ ‫صورت‬ ‫به‬ ‫سرور‬ ‫سمت‬ ‫در‬ ‫را‬‫ناپذیر‬‫تجزیه‬‫کند‬ ‫اجرا‬.‫پیچی‬ ‫داده‬ ‫ساختارهای‬ ‫ویژگی‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫تواند‬‫می‬ ‫کاربر‬ ،‫دلیل‬ ‫همین‬ ‫به‬‫تری‬‫ده‬ ‫سازی‬‫پیاده‬ ‫ردیس‬ ‫سرور‬ ‫در‬ ‫را‬‫کند‬. 11
  • 12. ‫پايان‬ ☺‫تون‬ ‫توجه‬ ‫از‬ ‫ممنون‬☺ ‫زاده‬ ‫نجفي‬ ‫نرگس‬ 12