20 مستودعات
Executes atomic state transitions within the data store to ensure thread-safe job acquisition.
Distinct from Atomic Task Locks: Distinct from Atomic Task Locks: focuses on the Lua-based implementation of atomic operations rather than general file-level locking.
Explore 20 awesome GitHub repositories matching data & databases · Lua Scripting. Refine with filters or upvote what's useful.
Redisson is a Java library and Redis client that functions as a distributed Java object mapper, caching provider, and locking framework. It maps Java collections and concurrency primitives to distributed implementations backed by Redis and Valkey, providing synchronous, asynchronous, and reactive APIs for interacting with these data stores. The project distinguishes itself by providing a comprehensive suite of distributed coordination tools, including a locking framework for managing semaphores and countdown latches across multiple application nodes. It also serves as a distributed messaging
Executes Lua scripts on the server to ensure multi-step operations are performed as a single atomic unit.
Bull is a Node.js library for managing distributed jobs and message queues using Redis as the primary data store. It functions as a distributed task worker, job scheduler, and priority queue manager designed to handle asynchronous workloads across multiple processes. The project distinguishes itself by providing a persistent communication channel that decouples servers through the exchange of serializable data objects. It ensures distributed system reliability by detecting stalled tasks and recovering from process crashes to ensure every queued job is completed. The system covers a broad ran
Utilizes server-side Lua scripts to perform atomic state transitions and prevent race conditions between distributed workers.
ioredis is a performance-focused Redis client for Node.js designed to execute commands and manage data connections. It provides a specialized interface for interacting with standalone servers, sharded clusters, and high-availability setups. The library distinguishes itself with native support for Redis Cluster, featuring automatic slot discovery and network address mapping, and Redis Sentinel for master node discovery and automatic failover. It also includes a dedicated Lua scripting interface that utilizes server-side caching to ensure atomic operations. The project covers a broad set of ca
Implements server-side Lua script execution with SHA1 caching to ensure atomicity and reduce network traffic.
Sidekiq is a background job processor and queue manager for Ruby that uses Redis to manage asynchronous tasks. It functions as a distributed task scheduler capable of handling periodic, delayed, and recurring jobs across a cluster of worker processes. The project features a job monitoring dashboard and administrative web interface for visualizing system state, tracking worker performance, and managing failed or dead jobs. It provides a distributed rate limiter to control execution frequency across multiple processes. The framework covers a broad range of operational capabilities, including j
Uses Lua scripting to execute atomic state transitions and queue movements on the Redis server.
Sidekiq is a Ruby background processing framework and asynchronous task runner. It functions as a Redis-backed background job processor that offloads heavy or time-consuming work from web requests to separate worker processes to ensure the main application remains responsive. The system operates as a Redis task queue, storing pending jobs in Redis to be processed concurrently by multiple threads. It provides a framework for distributed task queueing and asynchronous job scheduling to coordinate work across multiple server instances. The project covers Ruby application scaling by executing ba
Uses Lua scripts within Redis to execute atomic operations and prevent race conditions during job acquisition.
Asynq is a distributed background job processing framework for Go applications. It manages asynchronous task queues by offloading heavy operations to persistent storage, allowing the main application to remain responsive while background workers handle workloads. The system utilizes Redis to manage task state, concurrency, and message distribution across multiple worker instances. It employs atomic Lua scripting and sorted sets to ensure reliable job acquisition, precise scheduling of delayed tasks, and fault-tolerant processing through a two-stage acknowledgement flow. The framework support
Executes atomic state transitions within the data store to ensure thread-safe job acquisition and reliable task processing.
Garnet is a multi-threaded in-memory database and distributed key-value store. It functions as a high-performance remote cache store that implements the RESP wire protocol to maintain compatibility with existing Redis clients and libraries. The project is distinguished by a shared-memory architecture that enables parallel request processing across multiple cores for sub-millisecond latency. It features a tiered storage system that automatically offloads colder data from system memory to SSD or cloud storage layers, and includes a specialized vector search database for high-dimensional similar
Executes Lua scripts atomically on the server to combine multiple operations in one round trip.
Redis is a high-performance in-memory key-value store that functions as a distributed cache, message broker, and NoSQL database. It provides sub-millisecond read and write access to data stored in RAM and can operate as a vector database for indexing high-dimensional embeddings. The system supports a wide range of data storage and synchronization primitives, including the management of strings, hashes, lists, sets, and JSON documents. It enables real-time data operations through atomic transactions, hybrid persistence using snapshots and append-only logs, and high-availability configurations
Executes Lua scripts on the server to perform atomic state transitions and complex operations.
RedisInsight is a graphical user interface and management tool for browsing, analyzing, and administering Redis databases. It provides a visual environment for exploring key-value data structures, managing database instances, and performing data analysis across different operating systems and deployments. The tool distinguishes itself by providing dedicated visual managers for complex operations, including a vector database manager for configuring embeddings and similarity searches, a query workbench for executing raw commands and Lua scripts, and a performance monitoring dashboard for tracki
Executes Lua scripts from external files by automatically mapping required keys and arguments.
BullMQ is a Redis-backed message queue library and background processor designed for distributed task queueing. It functions as a distributed queue manager and task scheduler, utilizing Redis to manage asynchronous job processing and persistence. The system distinguishes itself through its role as a job workflow orchestrator, enabling the definition of complex parent-child job dependencies and hierarchies for multi-step workflows. It provides sandboxed process execution to isolate heavy workloads and prevent event loop blocking, alongside distributed rate limiting to protect downstream servic
Executes complex queue transitions and state updates via Lua scripts to ensure atomicity within Redis.
HAProxy is a high-performance TCP and HTTP proxy that distributes traffic across multiple backend servers to ensure availability and fault tolerance for critical services. It operates in either TCP or HTTP mode, with an event-driven, single-threaded reactor that handles tens of thousands of connections without context switching, and supports kernel-level data transfer to minimize memory usage and latency. What distinguishes HAProxy is its configuration-file-first design, where all load-balancing rules and runtime behavior are defined in a declarative text file parsed at startup. It embeds a L
Embeds and executes Lua code within the proxy to implement custom request handling and routing.
General purpose redis client
Runs Lua scripts directly on a Redis server using named parameter replacement for complex, atomic server-side logic.
Suricata is an open-source network intrusion detection and prevention engine that analyzes live network traffic in real-time to identify and alert on malicious activity. It operates as a rule-based threat detection system, matching traffic against user-defined signatures to detect known attack patterns and policy violations, and can be placed inline to actively block malicious packets before they reach their target. The engine inspects a wide range of application-layer protocols including HTTP, DNS, TLS, SMB, and MQTT, and supports high-performance packet capture through specialized hardware a
Ships a Lua scripting extension system that allows custom detection logic to be embedded directly in rules.
LedisDB هو مخزن مفتاح-قيمة NoSQL موزع مبني بلغة Go. يعمل كخادم قاعدة بيانات عالي الأداء يقوم بحفظ القيم البسيطة، والعدادات، وهياكل البيانات المعقدة باستخدام محركات تخزين قابلة للتوصيل. ينفذ النظام بروتوكول Redis للحفاظ على التوافق مع مكتبات وتعريفات العملاء الحالية، مع توفير واجهة HTTP تعرض وظائف قاعدة البيانات من خلال تنسيقات JSON أو BSON أو msgpack. يتضمن آلة افتراضية مدمجة لتنفيذ نصوص Lua البرمجية المخصصة من جانب الخادم للعمليات المعقدة. تدعم المنصة التوافر العالي من خلال تكرار البيانات بين العقد الأساسية والثانوية. يغطي سطح قدراتها مجموعة متنوعة من هياكل البيانات بما في ذلك التجزئة (hashes)، والمجموعات (sets)، والمجموعات المرتبة، إلى جانب ميزات للكتابة المجمعة، وانتهاء صلاحية البيانات، والتحكم في الوصول إلى قاعدة البيانات.
Provides an embedded virtual machine to execute custom server-side Lua scripts for complex operations.
Ledisdb هو خادم قاعدة بيانات NoSQL عالي الأداء مكتوب بلغة Go. يعمل كمخزن مفتاح-قيمة يدعم هياكل البيانات المعقدة ويستخدم تخزين القرص الدائم لإدارة أحجام البيانات التي تتجاوز سعة ذاكرة النظام. تم تصميم النظام كخادم مستقل ومكتبة محرك قابلة للتضمين تدمج مباشرة في ثنائيات Go. يتميز بمخزن بيانات قابل للبرمجة ينفذ نصوص Lua البرمجية من جانب الخادم للعمليات الذرية ويوفر واجهة برمجة تطبيقات HTTP لتبادل البيانات باستخدام تسلسل JSON وBSON وmsgpack. تتضمن قاعدة البيانات قدرات لتكرار البيانات الموزعة بين العقد الأساسية والنسخ المتماثلة لضمان التوافر العالي. كما تنفذ انتهاء صلاحية البيانات (time-to-live) للإزالة التلقائية للبيانات، ومصادقة المستخدم لأمان الطلب، وأدوات صيانة لإصلاح ملفات البيانات التالفة.
Runs Lua scripts directly on the server to execute complex operations as a single atomic step.
Redsync هو مدير أقفال موزع (Distributed Lock Manager) وامتداد لعميل Redis بلغة Go، مصمم لضمان الوصول الحصري إلى الموارد المشتركة. يقوم بتنفيذ آلية الاستبعاد المتبادل (Mutual Exclusion) عبر عمليات متعددة باستخدام Redis كخلفية لتنسيق المزامنة ومنع حالات التنافس (Race Conditions) في البيئات الموزعة. تحافظ المكتبة على صلاحية القفل من خلال إجماع قائم على النصاب (Quorum-based consensus)، مما يتطلب عمليات كتابة ناجحة لأغلبية عقد Redis المستقلة. وتستخدم عمليات ذرية (Atomic operations) عبر سكربتات Lua للاستحواذ على الأقفال وتحريرها، مع توظيف التحقق من الملكية القائم على القيم وفترة صلاحية (TTL) لمنع حالات الجمود (Deadlocks). يوفر المشروع إمكانيات للتنسيق الموزع ومزامنة التطبيقات، مع استخدام آلية إعادة المحاولة (Retry polling) من جانب العميل لإدارة مهلات الاستحواذ على الموارد.
Uses Lua scripting to execute lock acquisition and release as atomic operations on the Redis server.
Bee-queue هو نظام معالجة في الخلفية لـ Node.js يستخدم Redis لجدولة الوظائف والاستمرارية. صُمم لتفريغ المهام الثقيلة من خيط التنفيذ الرئيسي إلى عمال الخلفية للحفاظ على استجابة التطبيق. يوفر المشروع معالجة موزعة للوظائف، مما يسمح لعقد العمال بالعمل عبر عمليات متعددة للتعامل مع أحجام كبيرة من المهام بشكل متزامن. ويضمن تنفيذ المهام بشكل موثوق من خلال عمليات إعادة المحاولة التلقائية واستعادة العمليات المتوقفة. تغطي قدراته جدولة المهام غير المتزامنة للوظائف المؤجلة، والتحكم في التزامن لعقد العمال، وإدارة دورة حياة الوظيفة. ويتضمن أدوات لمراقبة صحة قائمة الانتظار، وتتبع تقدم الوظيفة، واسترجاع النتائج بناءً على حالة الوظيفة. يدعم النظام إدراج الوظائف بالجملة لتقليل حمل الشبكة ويسمح بمعرفات وظائف مخصصة واستراتيجيات تراجع قابلة للتكوين للمهام الفاشلة.
Utilizes server-side Lua scripts to ensure atomic state transitions and thread-safe job acquisition in Redis.
هذه مكتبة عميل Ruby ومحرك بروتوكول يُستخدم لدمج تطبيقات Ruby مع قواعد بيانات Redis. تعمل كطبقة اتصال تدير إصدارات البروتوكول وتوفر واجهة متسقة لتنفيذ عمليات قاعدة البيانات. تدعم المكتبة مجموعة متنوعة من طوبولوجيا النشر، بما في ذلك النسخ المستقلة، وRedis Sentinel لاكتشاف السيد عالي التوافر وتجاوز الفشل، وRedis Cluster مع توجيه الطلبات المدرك للفتحات واكتشاف العقد. كما توفر تقسيم جانب العميل (sharding) باستخدام التجزئة المتسقة لتوزيع البيانات عبر خوادم مستقلة. تغطي القدرات الواسعة إدارة المعاملات الذرية وبرمجة Lua للتحويلات من جانب الخادم، بالإضافة إلى دعم أنواع البيانات المتخصصة مثل الإحداثيات الجغرافية والتدفقات. يتم تحسين الأداء من خلال تجميع الأوامر (pipelining) وتحليلات التحليل الأصلية، بينما يتم التعامل مع الأمان عبر تشفير SSL/TLS ومصادقة الشهادة المتبادلة. يتضمن العميل أدوات لتنسيق طوبولوجيا قاعدة البيانات المستقلة والعنقودية باستخدام حاويات لاختبار التكامل المؤتمت.
Executes Lua scripts on the Redis server to perform complex, atomic data transformations.
EFCore.BulkExtensions هي مكتبة لتنفيذ عمليات الإدراج، والتحديث، والحذف المجمعة عالية الأداء داخل نظام Entity Framework Core البيئي. تعمل كمجموعة أدوات لمعالجة دفعات قاعدة البيانات وغلاف لـ SQL Bulk Copy الأصلي لتمكين استيعاب البيانات ومزامنتها بشكل أسرع عبر مزودي قواعد بيانات متعددين. توفر المكتبة قدرات متخصصة لمزامنة البيانات العلائقية، مما يسمح للمستخدمين بمواءمة جداول قاعدة البيانات مع قوائم الكيانات المحلية من خلال عمليات upsert مجمعة والمزامنة الشرطية. كما تدعم عمليات إدراج الرسوم البيانية للبيانات العلائقية، والتي تمكن من إضافة مجموعات كبيرة من سجلات الأصل والفرع عبر جداول متعددة مع الحفاظ على علاقات المفاتيح الخارجية. تغطي الأداة مجموعة واسعة من عمليات البيانات المجمعة، بما في ذلك معالجة CRUD العامة، واقتطاع الجداول، ونسخ البيانات المباشر من جدول إلى جدول. كما تتضمن أدوات لتحديثات الدفعات من جانب الخادم وترحيل قاعدة البيانات عالي الأداء لنقل كميات كبيرة من البيانات دون تحميل الكيانات في ذاكرة التطبيق.
Executes raw SQL commands directly on the database engine to avoid the overhead of loading entities into memory.
Rueidis is a high-performance Redis client library for Go that provides a type-safe and asynchronous interface for interacting with Redis servers. It includes a full implementation of the Redis serialization protocol and a dedicated connection manager to handle pooling, multiplexing, and automatic pipelining. The library is distinguished by its support for RDMA connectivity to reduce latency and CPU overhead. It features a distributed lock manager that implements majority-based locking and optimistic concurrency control, as well as client-side caching with invalidation signals to minimize net
Supports the execution of server-side Lua scripts for atomic state transitions and performance optimization.