From c5960f9b6a75c8fb74289f005bb231ff942df413 Mon Sep 17 00:00:00 2001 From: Dan Brown Date: Sun, 3 Apr 2016 11:00:14 +0100 Subject: [PATCH] Added Redis cache/session support --- composer.json | 3 ++- composer.lock | 54 +++++++++++++++++++++++++++++++++++++++++++-- config/cache.php | 7 +++--- config/database.php | 28 ++++++++++++++--------- 4 files changed, 74 insertions(+), 18 deletions(-) diff --git a/composer.json b/composer.json index 4a4c554..8f375a2 100644 --- a/composer.json +++ b/composer.json @@ -12,7 +12,8 @@ "barryvdh/laravel-ide-helper": "^2.1", "barryvdh/laravel-debugbar": "^2.0", "league/flysystem-aws-s3-v3": "^1.0", - "barryvdh/laravel-dompdf": "0.6.*" + "barryvdh/laravel-dompdf": "0.6.*", + "predis/predis": "^1.0" }, "require-dev": { "fzaninotto/faker": "~1.4", diff --git a/composer.lock b/composer.lock index 9951362..ec7a948 100644 --- a/composer.lock +++ b/composer.lock @@ -4,8 +4,8 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "hash": "523e654de96df9259fa5dfcb583d6e3e", - "content-hash": "74b5601c253aab71cf55e0885f31ae7f", + "hash": "eb7c71e9ed116d3fd2a1d0af07f9f134", + "content-hash": "17d2d7fc5fed682f2a290d6588538035", "packages": [ { "name": "aws/aws-sdk-php", @@ -1759,6 +1759,56 @@ ], "time": "2015-02-03 12:10:50" }, + { + "name": "predis/predis", + "version": "v1.0.3", + "source": { + "type": "git", + "url": "https://github.com/nrk/predis.git", + "reference": "84060b9034d756b4d79641667d7f9efe1aeb8e04" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nrk/predis/zipball/84060b9034d756b4d79641667d7f9efe1aeb8e04", + "reference": "84060b9034d756b4d79641667d7f9efe1aeb8e04", + "shasum": "" + }, + "require": { + "php": ">=5.3.2" + }, + "require-dev": { + "phpunit/phpunit": "~4.0" + }, + "suggest": { + "ext-curl": "Allows access to Webdis when paired with phpiredis", + "ext-phpiredis": "Allows faster serialization and deserialization of the Redis protocol" + }, + "type": "library", + "autoload": { + "psr-4": { + "Predis\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Daniele Alessandri", + "email": "suppakilla@gmail.com", + "homepage": "http://clorophilla.net" + } + ], + "description": "Flexible and feature-complete PHP client library for Redis", + "homepage": "http://github.com/nrk/predis", + "keywords": [ + "nosql", + "predis", + "redis" + ], + "time": "2015-07-30 18:34:15" + }, { "name": "psr/http-message", "version": "1.0", diff --git a/config/cache.php b/config/cache.php index 076a029..0a95683 100644 --- a/config/cache.php +++ b/config/cache.php @@ -6,9 +6,8 @@ $memcachedServers = explode(',', trim(env('MEMCACHED_SERVERS', '127.0.0.1:11211:100'), ',')); foreach ($memcachedServers as $index => $memcachedServer) { $memcachedServerDetails = explode(':', $memcachedServer); - $components = count($memcachedServerDetails); - if ($components < 2) $memcachedServerDetails[] = '11211'; - if ($components < 3) $memcachedServerDetails[] = '100'; + if (count($memcachedServerDetails) < 2) $memcachedServerDetails[] = '11211'; + if (count($memcachedServerDetails) < 3) $memcachedServerDetails[] = '100'; $memcachedServers[$index] = array_combine($memcachedServerKeys, $memcachedServerDetails); } } @@ -83,6 +82,6 @@ | */ - 'prefix' => 'laravel', + 'prefix' => env('CACHE_PREFIX', 'bookstack'), ]; diff --git a/config/database.php b/config/database.php index 9650de1..20d461f 100644 --- a/config/database.php +++ b/config/database.php @@ -1,5 +1,21 @@ env('REDIS_CLUSTER', false) + ]; + foreach ($redisServers as $index => $redisServer) { + $redisServerName = ($index === 0) ? 'default' : 'redis-server-' . $index; + $redisServerDetails = explode(':', $redisServer); + if (count($redisServerDetails) < 2) $redisServerDetails[] = '6379'; + if (count($redisServerDetails) < 3) $redisServerDetails[] = '0'; + $redisConfig[$redisServerName] = array_combine($redisServerKeys, $redisServerDetails); + } +} + return [ /* @@ -123,16 +139,6 @@ | */ - 'redis' => [ - - 'cluster' => false, - - 'default' => [ - 'host' => '127.0.0.1', - 'port' => 6379, - 'database' => 0, - ], - - ], + 'redis' => $redisConfig, ];