Compare commits

...

12 Commits

Author SHA1 Message Date
wernerr
ae99c04c93 Improve Release-Drafter 2021-03-29 10:37:28 +02:00
wernerr
d0fe287cd7 Improve Release-Drafter 2021-03-29 09:49:04 +02:00
RW
79bb924d44 URL parsing for redis (#64)
* URL parsing for redis

Co-authored-by: TroyDota <49777269+TroyDota@users.noreply.github.com>
2021-03-25 08:14:30 +01:00
dependabot[bot]
39d7f4ff11 Bump github.com/aws/aws-sdk-go from 1.38.2 to 1.38.3 in /dynamodb (#62)
Bumps [github.com/aws/aws-sdk-go](https://github.com/aws/aws-sdk-go) from 1.38.2 to 1.38.3.
- [Release notes](https://github.com/aws/aws-sdk-go/releases)
- [Changelog](https://github.com/aws/aws-sdk-go/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go/compare/v1.38.2...v1.38.3)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-03-24 10:41:39 +01:00
dependabot[bot]
d9a333fb56 Bump github.com/go-redis/redis/v8 from 8.7.1 to 8.8.0 in /redis (#63)
Bumps [github.com/go-redis/redis/v8](https://github.com/go-redis/redis) from 8.7.1 to 8.8.0.
- [Release notes](https://github.com/go-redis/redis/releases)
- [Changelog](https://github.com/go-redis/redis/blob/master/CHANGELOG.md)
- [Commits](https://github.com/go-redis/redis/compare/v8.7.1...v8.8.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-03-24 10:39:20 +01:00
wernerr
d227c71a3f Merge branch 'main' of https://github.com/gofiber/storage 2021-03-23 09:56:49 +01:00
wernerr
4cc4c1cba8 Improve Release-Drafter 2021-03-23 09:56:15 +01:00
wernerr
7856af3a73 Improve Release-Drafter 2021-03-23 09:55:36 +01:00
dependabot[bot]
b8491b9f1e Bump github.com/aws/aws-sdk-go from 1.38.1 to 1.38.2 in /dynamodb (#61)
Bumps [github.com/aws/aws-sdk-go](https://github.com/aws/aws-sdk-go) from 1.38.1 to 1.38.2.
- [Release notes](https://github.com/aws/aws-sdk-go/releases)
- [Changelog](https://github.com/aws/aws-sdk-go/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go/compare/v1.38.1...v1.38.2)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-03-23 09:43:46 +01:00
wernerr
e29def7754 Improve workflows 2021-03-22 08:02:21 +01:00
wernerr
9dbfd131e1 Improve Release-Drafter 2021-03-21 16:13:18 +01:00
wernerr
547993882d Improve Release-Drafter 2021-03-21 15:31:52 +01:00
12 changed files with 227 additions and 92 deletions

View File

@@ -4,45 +4,100 @@ version: 2
updates:
- package-ecosystem: "gomod"
directory: "/" # Location of package manifests
default_labels:
- "🤖 Dependencies"
schedule:
interval: "daily"
automerged_updates:
- match:
dependency_name: "gofiber/fiber/*"
- package-ecosystem: "gomod"
directory: "/arangodb/" # Location of package manifests
default_labels:
- "🤖 Dependencies"
schedule:
interval: "daily"
automerged_updates:
- match:
dependency_name: "gofiber/fiber/*"
- package-ecosystem: "gomod"
directory: "/badger/" # Location of package manifests
default_labels:
- "🤖 Dependencies"
schedule:
interval: "daily"
automerged_updates:
- match:
dependency_name: "gofiber/fiber/*"
- package-ecosystem: "gomod"
directory: "/dynamodb/" # Location of package manifests
default_labels:
- "🤖 Dependencies"
schedule:
interval: "daily"
automerged_updates:
- match:
dependency_name: "gofiber/fiber/*"
- package-ecosystem: "gomod"
directory: "/memcache/" # Location of package manifests
default_labels:
- "🤖 Dependencies"
schedule:
interval: "daily"
automerged_updates:
- match:
dependency_name: "gofiber/fiber/*"
- package-ecosystem: "gomod"
directory: "/memory/" # Location of package manifests
default_labels:
- "🤖 Dependencies"
schedule:
interval: "daily"
automerged_updates:
- match:
dependency_name: "gofiber/fiber/*"
- package-ecosystem: "gomod"
directory: "/mongodb/" # Location of package manifests
default_labels:
- "🤖 Dependencies"
schedule:
interval: "daily"
automerged_updates:
- match:
dependency_name: "gofiber/fiber/*"
- package-ecosystem: "gomod"
directory: "/mysql/" # Location of package manifests
default_labels:
- "🤖 Dependencies"
schedule:
interval: "daily"
automerged_updates:
- match:
dependency_name: "gofiber/fiber/*"
- package-ecosystem: "gomod"
directory: "/postgres/" # Location of package manifests
default_labels:
- "🤖 Dependencies"
schedule:
interval: "daily"
automerged_updates:
- match:
dependency_name: "gofiber/fiber/*"
- package-ecosystem: "gomod"
directory: "/redis/" # Location of package manifests
default_labels:
- "🤖 Dependencies"
schedule:
interval: "daily"
automerged_updates:
- match:
dependency_name: "gofiber/fiber/*"
- package-ecosystem: "gomod"
directory: "/sqlite3/" # Location of package manifests
default_labels:
- "🤖 Dependencies"
schedule:
interval: "daily"
automerged_updates:
- match:
dependency_name: "gofiber/fiber/*"

View File

@@ -3,20 +3,17 @@ tag-template: 'v$RESOLVED_VERSION'
categories:
- title: '🚀 New'
labels:
- 'feature'
- 'enhancement'
- title: '🐛 Fixes'
labels:
- 'fix'
- 'bugfix'
- '☢️ Bug'
- '✏️ Feature'
- title: '🧹 Updates'
labels:
- 'fix'
- 'bugfix'
- 'bug'
- '🧹 Updates'
- '🤖 Dependencies'
- title: '🐛 Fixes'
labels:
- '☢️ Bug'
- title: '📚 Documentation'
label: '📒 Documentation'
labels:
- '📒 Documentation'
change-template: '- $TITLE (#$NUMBER)'
change-title-escapes: '\<*_&' # You can add # and @ to disable mentions, and add ` to disable code blocks.
version-resolver:
@@ -26,24 +23,52 @@ version-resolver:
minor:
labels:
- 'minor'
- '✏️ Feature'
patch:
labels:
- 'patch'
- '📒 Documentation'
- '☢️ Bug'
- '🤖 Dependencies'
- '🧹 Updates'
default: patch
autolabeler:
- label: '📒 Documentation'
title:
- '/docs/i'
- '/doc:/i'
- '/\[doc\]/i'
- '/README/i'
- '/typos/i'
- '/comment/i'
- '/📚/i'
- label: '☢️ Bug'
branch:
- '/fix\/.+/'
title:
- '/fix/i'
- '/race/i'
- '/bug/i'
- '/🐛/i'
- label: '🧹 Updates'
title:
- '/improve/i'
- '/update/i'
- '/refactor/i'
- '/⚡/i'
- '/🧹/i'
- label: '🤖 Dependencies'
title:
- '/bumb/i'
- '/dependencies/i'
- label: '✏️ Feature'
branch:
- '/feature\/.+/'
body:
- '/feature/i'
- '/add/i'
- '/🚀/i'
template: |
🔥&nbsp;&nbsp;**New**
- text
🧹&nbsp;&nbsp;**Updates**
- text
🩹&nbsp;&nbsp;**Fixes**
- text
📚&nbsp;&nbsp;**Documentation**
- text
## Changes
$CHANGES
Thank you $CONTRIBUTORS for making this update possible.

View File

@@ -2,10 +2,10 @@ name: "CodeQL"
on:
push:
branches: [master, ]
branches: [master, main]
pull_request:
# The branches below must be a subset of the branches above
branches: [master]
branches: [master, main]
schedule:
- cron: '0 3 * * 6'

View File

@@ -5,6 +5,7 @@ on:
# branches to consider in the event; optional, defaults to all
branches:
- master
- main
# pull_request event is required only for autolabeler
pull_request:
# Only following types are handled by the action, but one can default to all as well

View File

@@ -2,4 +2,4 @@ module github.com/gofiber/storage/dynamodb
go 1.14
require github.com/aws/aws-sdk-go v1.38.1
require github.com/aws/aws-sdk-go v1.38.3

View File

@@ -1,5 +1,5 @@
github.com/aws/aws-sdk-go v1.38.1 h1:dVtNY7+5CtiRfAbEVxm5NgL5Xol8AMNoAf6TkyhDq1I=
github.com/aws/aws-sdk-go v1.38.1/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro=
github.com/aws/aws-sdk-go v1.38.3 h1:QCL/le04oAz2jELMRSuJVjGT7H+4hhoQc66eMPCfU/k=
github.com/aws/aws-sdk-go v1.38.3/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro=
github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg=

View File

@@ -48,6 +48,12 @@ store := redis.New(redis.Config{
Database: 0,
Reset: false,
})
// or just the url with all information
store = redis.New(redis.Config{
URL: "redis://<user>:<pass>@127.0.0.1:6379/<db>",
Reset: false,
})
```
### Config
@@ -78,6 +84,12 @@ type Config struct {
// Optional. Default is 0
Database int
// URL the standard format redis url to parse all other options. If this is set all other config options, Host, Port, Username, Password, Database have no effect.
//
// Example: redis://<user>:<pass>@localhost:6379/<db>
// Optional. Default is ""
URL string
// Reset clears any existing keys in existing Collection
//
// Optional. Default is false

View File

@@ -27,6 +27,12 @@ type Config struct {
// Optional. Default is 0
Database int
// URL the standard format redis url to parse all other options. If this is set all other config options, Host, Port, Username, Password, Database have no effect.
//
// Example: redis://<user>:<pass>@localhost:6379/<db>
// Optional. Default is ""
URL string
// Reset clears any existing keys in existing Collection
//
// Optional. Default is false
@@ -45,6 +51,7 @@ var ConfigDefault = Config{
Port: 6379,
Username: "",
Password: "",
URL: "",
Database: 0,
Reset: false,
}

View File

@@ -3,6 +3,6 @@ module github.com/gofiber/storage/redis
go 1.14
require (
github.com/go-redis/redis/v8 v8.7.1
github.com/go-redis/redis/v8 v8.8.0
github.com/gofiber/utils v0.1.2
)

View File

@@ -7,8 +7,8 @@ github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f/go.mod h1:cu
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWoS4=
github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ=
github.com/go-redis/redis/v8 v8.7.1 h1:8IYi6RO83fNcG5amcUUYTN/qH2h4OjZHlim3KWGFSsA=
github.com/go-redis/redis/v8 v8.7.1/go.mod h1:BRxHBWn3pO3CfjyX6vAoyeRmCquvxr6QG+2onGV2gYs=
github.com/go-redis/redis/v8 v8.8.0 h1:fDZP58UN/1RD3DjtTXP/fFZ04TFohSYhjZDkcDe2dnw=
github.com/go-redis/redis/v8 v8.8.0/go.mod h1:F7resOH5Kdug49Otu24RjHWwgK7u9AmtqWMnCV1iP5Y=
github.com/gofiber/utils v0.1.2 h1:1SH2YEz4RlNS0tJlMJ0bGwO0JkqPqvq6TbHK9tXZKtk=
github.com/gofiber/utils v0.1.2/go.mod h1:pacRFtghAE3UoknMOUiXh2Io/nLWSUHtQCi/3QASsOc=
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
@@ -22,8 +22,8 @@ github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw
github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.4 h1:L8R9j+yAqZuZjsqh/z+F1NCffTKKLShY6zXTItVIZ8M=
github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU=
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
github.com/nxadm/tail v1.4.4 h1:DQuhQpB1tVlglWS2hLQ5OV6B5r8aGxSrPc5Qo6uTN78=
github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A=
@@ -41,14 +41,14 @@ github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+
github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY=
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
go.opentelemetry.io/otel v0.18.0 h1:d5Of7+Zw4ANFOJB+TIn2K3QWsgS2Ht7OU9DqZHI6qu8=
go.opentelemetry.io/otel v0.18.0/go.mod h1:PT5zQj4lTsR1YeARt8YNKcFb88/c2IKoSABK9mX0r78=
go.opentelemetry.io/otel/metric v0.18.0 h1:yuZCmY9e1ZTaMlZXLrrbAPmYW6tW1A5ozOZeOYGaTaY=
go.opentelemetry.io/otel/metric v0.18.0/go.mod h1:kEH2QtzAyBy3xDVQfGZKIcok4ZZFvd5xyKPfPcuK6pE=
go.opentelemetry.io/otel/oteltest v0.18.0 h1:FbKDFm/LnQDOHuGjED+fy3s5YMVg0z019GJ9Er66hYo=
go.opentelemetry.io/otel/oteltest v0.18.0/go.mod h1:NyierCU3/G8DLTva7KRzGii2fdxdR89zXKH1bNWY7Bo=
go.opentelemetry.io/otel/trace v0.18.0 h1:ilCfc/fptVKaDMK1vWk0elxpolurJbEgey9J6g6s+wk=
go.opentelemetry.io/otel/trace v0.18.0/go.mod h1:FzdUu3BPwZSZebfQ1vl5/tAa8LyMLXSJN57AXIt/iDk=
go.opentelemetry.io/otel v0.19.0 h1:Lenfy7QHRXPZVsw/12CWpxX6d/JkrX8wrx2vO8G80Ng=
go.opentelemetry.io/otel v0.19.0/go.mod h1:j9bF567N9EfomkSidSfmMwIwIBuP37AMAIzVW85OxSg=
go.opentelemetry.io/otel/metric v0.19.0 h1:dtZ1Ju44gkJkYvo+3qGqVXmf88tc+a42edOywypengg=
go.opentelemetry.io/otel/metric v0.19.0/go.mod h1:8f9fglJPRnXuskQmKpnad31lcLJ2VmNNqIsx/uIwBSc=
go.opentelemetry.io/otel/oteltest v0.19.0 h1:YVfA0ByROYqTwOxqHVZYZExzEpfZor+MU1rU+ip2v9Q=
go.opentelemetry.io/otel/oteltest v0.19.0/go.mod h1:tI4yxwh8U21v7JD6R3BcA/2+RBoTKFexE/PJ/nSO7IA=
go.opentelemetry.io/otel/trace v0.19.0 h1:1ucYlenXIDA1OlHVLDZKX0ObXV5RLaq06DtUKz5e5zc=
go.opentelemetry.io/otel/trace v0.19.0/go.mod h1:4IXiNextNOpPnRlI4ryK69mn5iC84bjBWZQA5DXz/qg=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=

View File

@@ -19,12 +19,25 @@ func New(config ...Config) *Storage {
cfg := configDefault(config...)
// Create new redis client
db := redis.NewClient(&redis.Options{
var options *redis.Options
var err error
if cfg.URL != "" {
options, err = redis.ParseURL(cfg.URL)
if err != nil {
panic(err)
}
} else {
options = &redis.Options{
Addr: fmt.Sprintf("%s:%d", cfg.Host, cfg.Port),
DB: cfg.Database,
Username: cfg.Username,
Password: cfg.Password,
})
}
}
db := redis.NewClient(options)
// Test connection
if err := db.Ping(context.Background()).Err(); err != nil {

View File

@@ -120,3 +120,25 @@ func Test_Redis_Reset(t *testing.T) {
func Test_Redis_Close(t *testing.T) {
utils.AssertEqual(t, nil, testStore.Close())
}
func Test_Redis_Initalize_WithURL(t *testing.T) {
testStoreUrl := New(Config{
URL: "redis://localhost:6379",
})
var (
key = "clark"
val = []byte("kent")
)
err := testStoreUrl.Set(key, val, 0)
utils.AssertEqual(t, nil, err)
result, err := testStoreUrl.Get(key)
utils.AssertEqual(t, nil, err)
utils.AssertEqual(t, val, result)
err = testStoreUrl.Delete(key)
utils.AssertEqual(t, nil, err)
utils.AssertEqual(t, nil, testStoreUrl.Close())
}