# GET /v2/redis-accounting/stats

# Get Redis Statistics

این اندپوینت آمار کلی Redis را در حوزه سیستم حسابداری استخراج می‌کند. شامل تعداد اسناد، تعداد ایندکس‌ها، تعداد مانده‌ها و میزان حافظه مصرف شده Redis. این روت برای استفاده داخلی (Ops, Engineering, Monitoring) طراحی شده است.

<div class="api-docs" id="bkmrk-"></div>## Request Overview

<div class="api-docs" id="bkmrk-url%3A-%2Fv2%2Fredis-accou"><div class="endpoint-info"><div>**URL:** `/v2/redis-accounting/stats`</div><div>**Method:** <span class="method-get">GET</span></div><div>**Middleware:** authWithJwt, shamsiDate</div><div>**Controller:** RedisAccountingController@getRedisStats</div></div></div>## Authentication

این اندپوینت کاملاً محافظت‌شده است. فقط کاربران احراز هویت شده و دارای JWT معتبر دسترسی دارند.

<div class="api-docs" id="bkmrk--1"></div>## Request Parameters

بدون ورودی. این روت هیچ query یا body ندارد.

<div class="api-docs" id="bkmrk--2"></div>## Response (Success)

<div class="api-docs" id="bkmrk-field-type-descripti"><table class="schema-table"><thead><tr><th>Field</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td>`success`</td><td>boolean</td><td>True در صورت موفقیت</td></tr><tr><td>`data.total_documents`</td><td>integer</td><td>تعداد کل اسناد ذخیره‌شده در Redis (کلیدهای accounting:doc:\*)</td></tr><tr><td>`data.total_indexes`</td><td>integer</td><td>تعداد کل ایندکس‌های Redis (کلیدهای accounting:docs:\*)</td></tr><tr><td>`data.total_balances`</td><td>integer</td><td>تعداد کل کلیدهای مانده (balance:\*)</td></tr><tr><td>`data.memory_usage`</td><td>string</td><td>حجم حافظه مصرف‌شده Redis به صورت human-readable (مثلاً 5.21M)</td></tr></tbody></table>

</div>```
{
  "success": true,
  "data": {
    "total_documents": 3412,
    "total_indexes": 128,
    "total_balances": 904,
    "memory_usage": "6.12M"
  }
}
  
```

<div class="api-docs" id="bkmrk--3"></div>## Response (Server Error)

```
{
  "success": false,
  "message": "خطا در دریافت آمار: Redis connection lost"
}
  
```

<div class="api-docs" id="bkmrk--4"></div>## Internal Architecture Notes

برای استخراج آمار، سرویس داخلی `redisAccountingService` از دستور `Redis::keys` استفاده می‌کند. این عملیات نمایی و غیرمقیاس‌پذیر است و فقط برای محیط‌های داخلی مناسب است (Production-safe only when dataset is controlled).

<div class="api-docs" id="bkmrk-category-key-pattern"><table class="schema-table"><thead><tr><th>Category</th><th>Key Pattern</th><th>Description</th></tr></thead><tbody><tr><td>Documents</td><td>`accounting:doc:*`</td><td>سندهای ذخیره‌شده</td></tr><tr><td>Indexes</td><td>`accounting:docs:*`</td><td>تمام ZSetها و مجموعه‌های ایندکسی</td></tr><tr><td>Balances</td><td>`balance:*`</td><td>مانده‌های سطوح مختلف</td></tr></tbody></table>

</div>