+
Skip to content

iazaran/smart-cache

Laravel SmartCache - Intelligent Caching Optimization Package

Latest Version License PHP Version Tests

Laravel SmartCache is a powerful caching optimization package that dramatically improves your Laravel application's performance through intelligent data compression (up to 70% size reduction), smart chunking, and automatic optimization - all while maintaining the familiar Laravel Cache API you already know and love.

🚀 Quick Start

Installation

composer require iazaran/smart-cache

That's it! SmartCache works out-of-the-box with sensible defaults. No configuration required.

Basic Usage

Use exactly like Laravel's Cache facade - your existing code works unchanged:

use SmartCache\Facades\SmartCache;

// Basic caching (just like Laravel Cache)
SmartCache::put('users', $users, 3600);
$users = SmartCache::get('users');

// Helper function (just like cache() helper)
smart_cache(['products' => $products], 3600);
$products = smart_cache('products');

// Remember pattern (just like Cache::remember)
$users = SmartCache::remember('users', 3600, function() {
    return User::all();
});

✨ The Magic: Your data is automatically compressed and chunked when beneficial, reducing cache size by up to 70%!

Modern SWR Patterns (Laravel 12+)

// SWR: Serve stale data while refreshing in background
$apiData = SmartCache::swr('github_repos', function() {
    return Http::get('https://api.github.com/user/repos')->json();
}, 300, 900); // 5min fresh, 15min stale

// Pattern-based cache clearing
SmartCache::flushPatterns(['user_*', 'api_v2_*']);

📦 What You Get

🎯 Perfect for Every Use Case:

  • 🚀 Simple Projects: Drop-in replacement for Laravel's Cache facade with automatic optimizations
  • ⚡ Complex Applications: Advanced caching patterns and smart invalidation strategies
  • 📊 High-Performance Systems: Real-time monitoring, SWR patterns, and analytics
  • 🏢 Enterprise Solutions: Comprehensive management, HTTP APIs, and production monitoring

✨ Why Choose SmartCache?

🚀 Core Strengths

  • 📦 Intelligent Compression - Up to 70% cache size reduction with automatic gzip compression
  • 🧩 Smart Chunking - Breaks large arrays/objects into manageable pieces for better performance
  • 🔄 Zero Breaking Changes - Drop-in replacement for Laravel's Cache facade
  • ⚡ Automatic Optimization - No configuration needed, works out-of-the-box

🌟 Advanced Features

  • 🌊 Modern SWR Patterns - Stale-while-revalidate for real-time applications (Laravel 12+)
  • 📊 Real-Time Monitoring - Performance metrics and health analysis
  • 🌐 HTTP Management - Execute cache commands via web interface (no SSH needed)
  • 🔗 Smart Invalidation - Dependency tracking, pattern-based clearing, model auto-invalidation

📈 Real Performance Impact

Production Results from E-commerce Platform:

  • 72% cache size reduction (15MB → 4.2MB)
  • 94.3% cache hit ratio
  • 23ms average retrieval time
  • 800MB daily Redis memory savings
  • 40% faster cache retrieval vs standard Laravel Cache

🚀 Advanced Features

Modern SWR Patterns (Laravel 12+)

// SWR: Serve stale data while refreshing in background
$data = SmartCache::swr('expensive_api', function() {
    return api()->fetchExpensiveData();
}, 300, 900); // 5min fresh, 15min stale

// Pattern-based cache invalidation
SmartCache::flushPatterns(['user_*', 'api_v2_*']);

Real-Time Monitoring

// Performance metrics and health analysis
$metrics = SmartCache::getPerformanceMetrics();
$analysis = SmartCache::analyzePerformance();

// HTTP command execution (no SSH needed)
$status = SmartCache::executeCommand('status', ['force' => true]);

📦 Installation & Configuration

Basic Installation

composer require iazaran/smart-cache

That's it! SmartCache works out-of-the-box with sensible defaults. No configuration required for basic usage.

Optional Configuration

For advanced customization, publish the config:

php artisan vendor:publish --tag=smart-cache-config

Supported Laravel Versions: Laravel 8+ through Laravel 12+

📚 Documentation

For detailed documentation, examples, and advanced usage patterns, visit our comprehensive docs:

📖 View Full Documentation

Basic Usage Examples

// Drop-in replacement for Laravel Cache
SmartCache::put('users', $users, 3600);
$users = SmartCache::get('users');

// Modern SWR patterns (Laravel 12+)
$data = SmartCache::swr('api_data', $callback, 300, 900);

// Pattern-based invalidation
SmartCache::flushPatterns(['user_*', 'api_v2_*']);

// Performance monitoring
$metrics = SmartCache::getPerformanceMetrics();

🧰 CLI Commands

# Quick status overview
php artisan smart-cache:status

# Clear all SmartCache managed keys
php artisan smart-cache:clear

# Clear specific key
php artisan smart-cache:clear expensive_api_call

🔧 Supported Cache Drivers

Driver Compression Chunking SWR Methods Monitoring
Redis ✅ Full ✅ Full ✅ Yes ✅ Yes
File ✅ Full ✅ Full ✅ Yes ✅ Yes
Database ✅ Full ✅ Full ✅ Yes ✅ Yes
Array ✅ Full ✅ Full ✅ Yes ✅ Yes
Memcached ⚠️ Basic ⚠️ Limited ✅ Yes ✅ Yes

🚀 Quick Migration from Laravel Cache

SmartCache is 100% compatible with existing Laravel Cache code:

// Your existing Laravel Cache code works unchanged
Cache::put('key', $value, 3600);
$value = Cache::get('key');

// Just change the facade import
// use Illuminate\Support\Facades\Cache;  ❌ Old
use SmartCache\Facades\SmartCache;        // ✅ New

// Now you get automatic optimization + new features
SmartCache::put('key', $value, 3600);    // Automatically optimized
$value = SmartCache::get('key');         // Automatically restored

// Plus new SWR methods are available immediately
$value = SmartCache::swr('key', $callback);  // 🆕 Modern pattern

🧪 Testing

SmartCache includes 252 comprehensive tests covering all functionality:

composer test
# or with coverage
composer test-coverage

🤝 Contributing

We welcome contributions! See our Contributing Guide for details.

📄 License

Laravel SmartCache is open-sourced software licensed under the MIT license.

🔗 Links & Resources


Built with ❤️ for the Laravel community

From simple applications to enterprise-scale systems

🏷️ Keywords: Laravel caching, PHP performance, Redis optimization, SWR patterns, cache monitoring, Laravel 12, enterprise caching, performance analytics, cache invalidation, smart optimization

点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载