Skip to content

Commit

Permalink
Allow Redis client to be selected via env settings
Browse files Browse the repository at this point in the history
  • Loading branch information
Lee Hicks committed Jun 8, 2017
1 parent 33d68ad commit e20f0c5
Show file tree
Hide file tree
Showing 7 changed files with 84 additions and 33 deletions.
2 changes: 2 additions & 0 deletions .env-dist
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,8 @@ APP_KEY=
#CACHE_USERNAME=
## If CACHE_DRIVER = redis
#CACHE_DATABASE=2
## Which Redis client to use: predis or phpredis (PHP extension)
#REDIS_CLIENT=predis

##------------------------------------------------------------------------------
## Limit Cache - requires the API Limits feature
Expand Down
1 change: 1 addition & 0 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@
"dreamfactory/df-sqldb": "~0.10.0",
"dreamfactory/df-swagger-ui": "~0.2.0",
"dreamfactory/df-user": "~0.10.0",
"predis/predis": "~1.0",
"laravel/framework": "5.4.*"
},
"require-dev": {
Expand Down
1 change: 1 addition & 0 deletions composer.json-dist
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@
"dreamfactory/df-sqldb": "~0.10.0",
"dreamfactory/df-swagger-ui": "~0.2.0",
"dreamfactory/df-user": "~0.10.0",
"predis/predis": "~1.0",
"laravel/framework": "5.4.*"
},
"require-dev": {
Expand Down
92 changes: 71 additions & 21 deletions composer.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion config/database.php
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@

'redis' => [

'client' => 'predis',
'client' => env('REDIS_CLIENT', 'predis'),

'default' => [
'host' => env('REDIS_HOST', '127.0.0.1'),
Expand Down
2 changes: 1 addition & 1 deletion config/limit.php
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@

'redis' => [
'driver' => 'redis',
'client' => env('LIMIT_CACHE_CLIENT', 'predis'),
'client' => env('REDIS_CLIENT', 'predis'),
'host' => env('LIMIT_CACHE_HOST', env('LIMIT_CACHE_REDIS_HOST', env('REDIS_HOST'))),
'port' => env('LIMIT_CACHE_PORT', env('LIMIT_CACHE_REDIS_PORT', env('REDIS_PORT'))),
'database' => env('LIMIT_CACHE_DATABASE', env('LIMIT_CACHE_REDIS_DATABASE', 9)),
Expand Down
17 changes: 7 additions & 10 deletions installer.sh
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ declare -A settings=(
# if CACHE_DRIVER=database
["CACHE_TABLE"]="cache"
# if CACHE_DRIVER=memcached or redis
["CACHE_CLIENT"]="predis"
["REDIS_CLIENT"]="predis"
["CACHE_HOST"]="127.0.0.1"
["CACHE_PORT"]="6379"
["CACHE_WEIGHT"]="100"
Expand All @@ -81,7 +81,6 @@ declare -A settings=(
# if CACHE_DRIVER=database
["LIMIT_CACHE_TABLE"]="limit_cache"
# if LIMIT_CACHE_DRIVER=memcached or redis
["LIMIT_CACHE_CLIENT"]="predis"
["LIMIT_CACHE_HOST"]="127.0.0.1"
["LIMIT_CACHE_PORT"]="6379"
["LIMIT_CACHE_WEIGHT"]="100"
Expand Down Expand Up @@ -178,7 +177,7 @@ declare -A settings_msg=(
["CACHE_PREFIX"]="A prefix used for all cache written out from this installation."
["CACHE_PATH"]="The path to a folder where the system cache information will be stored."
["CACHE_TABLE"]="The database table name where cached information will be stored."
["CACHE_CLIENT"]="What type of php extension to use for Redis cache storage."
["REDIS_CLIENT"]="What type of php extension to use for Redis cache storage."
["CACHE_HOST"]="The hostname or IP address of the memcached or redis server."
["CACHE_PORT"]="The connection port for the host given, or blank if the provider default is used."
["CACHE_USERNAME"]="Credentials for the service if required."
Expand All @@ -191,7 +190,6 @@ declare -A settings_msg=(
["LIMIT_CACHE_PREFIX"]="A prefix used for all cache written out from this installation."
["LIMIT_CACHE_PATH"]="Path to a folder where limit tracking information will be stored."
["LIMIT_CACHE_TABLE"]="The database table name where limit tracking information will be stored."
["LIMIT_CACHE_CLIENT"]="What type of php extension to use for Redis cache storage."
["LIMIT_CACHE_HOST"]="The hostname or IP address of the redis server."
["LIMIT_CACHE_PORT"]="The connection port for the host given, or blank if the provider default is used."
["LIMIT_CACHE_USERNAME"]="Credentials for the service if required."
Expand Down Expand Up @@ -264,11 +262,10 @@ declare -A settings_options=(
["DB_CONNECTION"]="sqlite, mysql, pgsql, sqlsrv"
# Cache
["CACHE_DRIVER"]="apc, array, database, file, memcached, redis"
["CACHE_CLIENT"]="predis, phpredis"
["REDIS_CLIENT"]="predis, phpredis"
# Limits
#["LIMIT_CACHE_DRIVER"]="apc, array, database, file, memcached, redis"
["LIMIT_CACHE_DRIVER"]="file, redis"
["LIMIT_CACHE_CLIENT"]="predis, phpredis"
# Queuing
["QUEUE_DRIVER"]="sync, database, beanstalkd, sqs, redis, null"
# Event Broadcasting
Expand Down Expand Up @@ -905,7 +902,7 @@ case $action in
[[ -z "${settings[CACHE_TABLE]}" ]] && settings["CACHE_TABLE"]="cache"
;;
"memcached" ) menu_items=("CACHE_DRIVER" "CACHE_DEFAULT_TTL" "CACHE_HOST" "CACHE_PORT" "CACHE_USERNAME" "CACHE_PASSWORD" "CACHE_PERSISTENT_ID" "CACHE_WEIGHT") ;;
"redis" ) menu_items=("CACHE_DRIVER" "CACHE_CLIENT" "CACHE_DEFAULT_TTL" "CACHE_HOST" "CACHE_PORT" "CACHE_DATABASE" "CACHE_PASSWORD") ;;
"redis" ) menu_items=("CACHE_DRIVER" "REDIS_CLIENT" "CACHE_DEFAULT_TTL" "CACHE_HOST" "CACHE_PORT" "CACHE_DATABASE" "CACHE_PASSWORD") ;;
"apc" ) menu_items=("CACHE_DRIVER" "CACHE_DEFAULT_TTL") ;;
"array" ) menu_items=("CACHE_DRIVER") ;;
* ) menu_items=("CACHE_DRIVER" "CACHE_DEFAULT_TTL" "CACHE_PATH")
Expand Down Expand Up @@ -939,7 +936,7 @@ case $action in
menu_items=("CACHE_DRIVER" "CACHE_DEFAULT_TTL" "CACHE_HOST" "CACHE_PORT" "CACHE_USERNAME" "CACHE_PASSWORD" "CACHE_PERSISTENT_ID" "CACHE_WEIGHT")
;;
"redis" ) chosen_features["redis"]="+"
menu_items=("CACHE_DRIVER" "CACHE_CLIENT" "CACHE_DEFAULT_TTL" "CACHE_HOST" "CACHE_PORT" "CACHE_DATABASE" "CACHE_PASSWORD")
menu_items=("CACHE_DRIVER" "REDIS_CLIENT" "CACHE_DEFAULT_TTL" "CACHE_HOST" "CACHE_PORT" "CACHE_DATABASE" "CACHE_PASSWORD")
;;
"apc" ) chosen_features["apc"]="+"
menu_items=("CACHE_DRIVER" "CACHE_DEFAULT_TTL")
Expand All @@ -964,7 +961,7 @@ case $action in
[[ -z "${settings[LIMIT_CACHE_TABLE]}" ]] && settings["LIMIT_CACHE_TABLE"]="limit_cache"
;;
"memcached" ) menu_items=("LIMIT_CACHE_DRIVER" "LIMIT_CACHE_HOST" "LIMIT_CACHE_PORT" "LIMIT_CACHE_USERNAME" "LIMIT_CACHE_PASSWORD" "LIMIT_CACHE_PERSISTENT_ID" "LIMIT_CACHE_WEIGHT") ;;
"redis" ) menu_items=("LIMIT_CACHE_DRIVER" "LIMIT_CACHE_CLIENT" "LIMIT_CACHE_HOST" "LIMIT_CACHE_PORT" "LIMIT_CACHE_DATABASE" "LIMIT_CACHE_PASSWORD") ;;
"redis" ) menu_items=("LIMIT_CACHE_DRIVER" "REDIS_CLIENT" "LIMIT_CACHE_HOST" "LIMIT_CACHE_PORT" "LIMIT_CACHE_DATABASE" "LIMIT_CACHE_PASSWORD") ;;
"apc" ) menu_items=("LIMIT_CACHE_DRIVER") ;;
"array" ) menu_items=("LIMIT_CACHE_DRIVER") ;;
* ) menu_items=("LIMIT_CACHE_DRIVER" "LIMIT_CACHE_DEFAULT_TTL" "LIMIT_CACHE_PATH")
Expand Down Expand Up @@ -997,7 +994,7 @@ case $action in
menu_items=("LIMIT_CACHE_DRIVER" "LIMIT_CACHE_HOST" "LIMIT_CACHE_PORT" "LIMIT_CACHE_USERNAME" "LIMIT_CACHE_PASSWORD" "LIMIT_CACHE_PERSISTENT_ID" "LIMIT_CACHE_WEIGHT")
;;
"redis" ) chosen_features["redis"]="+"
menu_items=("LIMIT_CACHE_DRIVER" "LIMIT_CACHE_CLIENT" "LIMIT_CACHE_HOST" "LIMIT_CACHE_PORT" "LIMIT_CACHE_DATABASE" "LIMIT_CACHE_PASSWORD")
menu_items=("LIMIT_CACHE_DRIVER" "REDIS_CLIENT" "LIMIT_CACHE_HOST" "LIMIT_CACHE_PORT" "LIMIT_CACHE_DATABASE" "LIMIT_CACHE_PASSWORD")
;;
"apc" ) chosen_features["apc"]="+"
menu_items=("LIMIT_CACHE_DRIVER")
Expand Down

0 comments on commit e20f0c5

Please sign in to comment.