2017 © Pedro Peláez
 

library model-cacher

A simple laravel package to cache database values and manage them efficiently

image

sarav/model-cacher

A simple laravel package to cache database values and manage them efficiently

  • Saturday, February 11, 2017
  • by Sarav
  • Repository
  • 3 Watchers
  • 9 Stars
  • 212 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 1 Forks
  • 0 Open issues
  • 3 Versions
  • 0 % Grown

The README.md

Laravel Model Cacher

Latest Stable Version Total Downloads Latest Unstable Version License, (*1)

A simple laravel package to cache database values and manage them efficiently through model events

  • Laravel: 5.4.*
  • Author: Sarav
  • Author Homepage: http://sarav.co

Step 1 : Require Composer package

Open your terminal and navigate to your laravel folder. Now run the following command, (*2)

composer require sarav/model-cacher

or, (*3)

"require": {
    "sarav/model-cacher": "^0.1"
}

Step 2 : Add the Service Provider to app.php

Once you have installed the package, add the service provider to app.php file, (*4)

Sarav\Providers\ModelCacherServiceProvider::class

Step 3 : Publish the config file

After adding the service provider, publish the configuration file., (*5)

php artisan vendor:publish --tag=laravel-model-cacher --force

If nothing gets published, try clearing the cache by running php artisan config:cache, (*6)

Step 4 : Configuring the cacheable.php

When you publish, you will see cacheable.php under config folder. Open up the file and you see array containing the models and timing for cache to remember. Add the list of models with namespace for which you wanted to add caching., (*7)

After adding necessary models do php artisan config:cache to clear cache., (*8)

Step 5 : Configuring the model

Add the CacheHandler trait for the model you wanted to manage the caching, (*9)

<?php

namespace App;

use Sarav\Traits\CacheHandler;
use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;

class User extends Authenticatable
{
    use Notifiable, CacheHandler;

    protected $individualCache = true;

    protected $cacheName = "users";
}

Here $individualCache means you are trying to cache each and every row separately. If you want to cache it on the whole, you could remove that and add, (*10)

protected $cacheAll = true;

$cacheName represents the name of the caching. For individual caching it will be like users.{id} ie, users.1. For whole caching it will be simply users., (*11)

Now you can access the cache using Facade or helper function like, (*12)

cache('users')   // for all cache
cache('users.1') // for individual cache

or, (*13)

Cache::get('users')   // for all cache
Cache::get('users.1') // for individual cache

The Versions

11/02 2017

dev-master

9999999-dev

A simple laravel package to cache database values and manage them efficiently

  Sources   Download

MIT

The Requires

 

by Saravanan Sampath kumar

10/02 2017

0.2

0.2.0.0

A simple laravel package to cache database values and manage them efficiently

  Sources   Download

MIT

The Requires

 

by Saravanan Sampath kumar

10/02 2017

0.1

0.1.0.0

A simple laravel package to cache database values and manage them efficiently

  Sources   Download

MIT

The Requires

 

by Saravanan Sampath kumar