{"id":13801714,"url":"https://github.com/gofiber/storage","last_synced_at":"2026-04-21T11:04:33.047Z","repository":{"id":36972811,"uuid":"307860808","full_name":"gofiber/storage","owner":"gofiber","description":"📦 Premade storage drivers for 🚀 Fiber","archived":false,"fork":false,"pushed_at":"2025-04-10T07:50:49.000Z","size":6938,"stargazers_count":295,"open_issues_count":24,"forks_count":75,"subscribers_count":8,"default_branch":"main","last_synced_at":"2025-04-10T08:39:31.682Z","etag":null,"topics":["fiber","storage"],"latest_commit_sha":null,"homepage":"https://docs.gofiber.io/storage/","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gofiber.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-10-28T00:15:12.000Z","updated_at":"2025-04-10T07:49:27.000Z","dependencies_parsed_at":"2023-09-23T17:13:22.209Z","dependency_job_id":"b6bc748d-4b25-482f-a11b-0bd7f22c26fc","html_url":"https://github.com/gofiber/storage","commit_stats":{"total_commits":1268,"total_committers":42,"mean_commits":30.19047619047619,"dds":0.5441640378548895,"last_synced_commit":"5f10c814f8930ae5ded2204ee20ec32f2faef9c7"},"previous_names":[],"tags_count":150,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gofiber%2Fstorage","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gofiber%2Fstorage/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gofiber%2Fstorage/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gofiber%2Fstorage/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gofiber","download_url":"https://codeload.github.com/gofiber/storage/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248655033,"owners_count":21140417,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["fiber","storage"],"created_at":"2024-08-04T00:01:26.222Z","updated_at":"2026-02-03T09:07:21.522Z","avatar_url":"https://github.com/gofiber.png","language":"Go","funding_links":[],"categories":["Database Drivers","Go","⚙️ Middlewares"],"sub_categories":["🔗 External"],"readme":"---\ntitle: 👋 Welcome\ndescription: 📦 Premade storage drivers for 🚀 Fiber.\nsidebar_position: 1\n---\n\n\u003cp align=\"center\"\u003e\n  \u003cimg height=\"125\" alt=\"Fiber\" src=\"https://raw.githubusercontent.com/gofiber/storage/master/.github/logo-dark.svg#gh-dark-mode-only\" /\u003e\n  \u003cimg height=\"125\" alt=\"Fiber\" src=\"https://raw.githubusercontent.com/gofiber/storage/master/.github/logo.svg#gh-light-mode-only\" /\u003e\n  \u003cbr/\u003e\n\n  \u003ca href=\"https://pkg.go.dev/github.com/gofiber/storage?tab=doc\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/%F0%9F%93%9A%20godoc-pkg-00ACD7.svg?color=00ACD7\u0026style=flat\"/\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://goreportcard.com/report/github.com/gofiber/storage\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/%F0%9F%93%9D%20goreport-A%2B-75C46B\"/\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://gofiber.io/discord\"\u003e\n    \u003cimg src=\"https://img.shields.io/discord/704680098577514527?style=flat\u0026label=%F0%9F%92%AC%20discord\u0026color=00ACD7\"/\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\nPremade storage drivers that implement the [`Storage`](https://github.com/gofiber/storage/blob/main/storage.go) interface, designed to be used with various [Fiber middlewares](https://github.com/gofiber/fiber/tree/master/middleware).\n\n**Note:** All storages are tested with the latest two [Go version](https://go.dev/doc/devel/release#policy). Older Go versions may also work, but are not guaranteed to be supported.\n\n```go\n// Storage interface for communicating with different database/key-value\n// providers. Visit https://github.com/gofiber/storage for more info.\ntype Storage interface {\n\t// GetWithContext gets the value for the given key with a context.\n\t// `nil, nil` is returned when the key does not exist\n\tGetWithContext(ctx context.Context, key string) ([]byte, error)\n\n\t// Get gets the value for the given key.\n\t// `nil, nil` is returned when the key does not exist\n\tGet(key string) ([]byte, error)\n\n\t// SetWithContext stores the given value for the given key\n\t// with an expiration value, 0 means no expiration.\n\tSetWithContext(ctx context.Context, key string, val []byte, exp time.Duration) error\n\n\t// Set stores the given value for the given key along\n\t// with an expiration value, 0 means no expiration.\n\t// Empty key or value will be ignored without an error.\n\tSet(key string, val []byte, exp time.Duration) error\n\n\t// DeleteWithContext deletes the value for the given key with a context.\n\t// It returns no error if the storage does not contain the key,\n\tDeleteWithContext(ctx context.Context, key string) error\n\n\t// Delete deletes the value for the given key.\n\t// It returns no error if the storage does not contain the key,\n\tDelete(key string) error\n\n\t// ResetWithContext resets the storage and deletes all keys with a context.\n\tResetWithContext(ctx context.Context) error\n\n\t// Reset resets the storage and delete all keys.\n\tReset() error\n\n\t// Close closes the storage and will stop any running garbage\n\t// collectors and open connections.\n\tClose() error\n}\n\n```\n\n## 📑 Storage Implementations\n\n- [Aerospike](./aerospike/README.md) \u003ca href=\"https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+Aerospike%22\"\u003e \u003cimg src=\"https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-aerospike.yml?branch=main\u0026label=%F0%9F%A7%AA%20\u0026style=flat\u0026color=75C46B\" /\u003e \u003c/a\u003e\n- [ArangoDB](./arangodb/README.md) \u003ca href=\"https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+ArangoDB%22\"\u003e \u003cimg src=\"https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-arangodb.yml?branch=main\u0026label=%F0%9F%A7%AA%20\u0026style=flat\u0026color=75C46B\" /\u003e \u003c/a\u003e\n- [AzureBlob](./azureblob/README.md) \u003ca href=\"https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+Azure+Blob%22\"\u003e \u003cimg src=\"https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-azureblob.yml?branch=main\u0026label=%F0%9F%A7%AA%20\u0026style=flat\u0026color=75C46B\" /\u003e \u003c/a\u003e\n- [Badger](./badger/README.md) \u003ca href=\"https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+Badger%22\"\u003e \u003cimg src=\"https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-badger.yml?branch=main\u0026label=%F0%9F%A7%AA%20\u0026style=flat\u0026color=75C46B\" /\u003e \u003c/a\u003e\n- [Bbolt](./bbolt) \u003ca href=\"https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+Bbolt%22\"\u003e \u003cimg src=\"https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-bbolt.yml?branch=main\u0026label=%F0%9F%A7%AA%20\u0026style=flat\u0026color=75C46B\" /\u003e \u003c/a\u003e\n- [Cassandra](./cassandra/README.md) \u003ca href=\"https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+Cassandra%22\"\u003e \u003cimg src=\"https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-cassandra.yml?branch=main\u0026label=%F0%9F%A7%AA%20\u0026style=flat\u0026color=75C46B\" /\u003e \u003c/a\u003e\n- [ClickHouse](./clickhouse/README.md) \u003ca href=\"https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+Clickhouse%22\"\u003e \u003cimg src=\"https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-clickhouse.yml?branch=main\u0026label=%F0%9F%A7%AA%20\u0026style=flat\u0026color=75C46B\" /\u003e \u003c/a\u003e\n- [CloudflareKV](./cloudflarekv/README.md) \u003ca href=\"https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+CloudflareKV%22\"\u003e \u003cimg src=\"https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-cloudflarekv.yml?branch=main\u0026label=%F0%9F%A7%AA%20\u0026style=flat\u0026color=75C46B\" /\u003e \u003c/a\u003e\n- [Coherence](./coherence/README.md) \u003ca href=\"https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+Coherence%22\"\u003e \u003cimg src=\"https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-coherence.yml?branch=main\u0026label=%F0%9F%A7%AA%20\u0026style=flat\u0026color=75C46B\" /\u003e \u003c/a\u003e\n- [Couchbase](./couchbase/README.md) \u003ca href=\"https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+Couchbase%22\"\u003e \u003cimg src=\"https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-couchbase.yml?branch=main\u0026label=%F0%9F%A7%AA%20\u0026style=flat\u0026color=75C46B\" /\u003e \u003c/a\u003e\n- [DynamoDB](./dynamodb/README.md) \u003ca href=\"https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+DynamoDB%22\"\u003e \u003cimg src=\"https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-dynamodb.yml?branch=main\u0026label=%F0%9F%A7%AA%20\u0026style=flat\u0026color=75C46B\" /\u003e \u003c/a\u003e\n- [Etcd](./etcd/README.md) \u003ca href=\"https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+Etcd%22\"\u003e \u003cimg src=\"https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-etcd.yml?branch=main\u0026label=%F0%9F%A7%AA%20\u0026style=flat\u0026color=75C46B\" /\u003e \u003c/a\u003e\n- [Firestore](./firestore/README.md) \u003ca href=\"https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+Firestore%22\"\u003e \u003cimg src=\"https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-firestore.yml?branch=main\u0026label=%F0%9F%A7%AA%20\u0026style=flat\u0026color=75C46B\" /\u003e \u003c/a\u003e\n- [LevelDB](./leveldb/README.md) \u003ca href=\"https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+LevelDB%22\"\u003e \u003cimg src=\"https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-leveldb.yml?branch=main\u0026label=%F0%9F%A7%AA%20\u0026style=flat\u0026color=75C46B\" alt=\"LevelDB Tests Status\"/\u003e \u003c/a\u003e\n- [Memcache](./memcache/README.md) \u003ca href=\"https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+Memcache%22\"\u003e \u003cimg src=\"https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-memcache.yml?branch=main\u0026label=%F0%9F%A7%AA%20\u0026style=flat\u0026color=75C46B\" /\u003e \u003c/a\u003e\n- [Memory](./memory/README.md) \u003ca href=\"https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+Local+Storage%22\"\u003e \u003cimg src=\"https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-memory.yml?branch=main\u0026label=%F0%9F%A7%AA%20\u0026style=flat\u0026color=75C46B\" /\u003e \u003c/a\u003e\n- [Minio](./minio/README.md) \u003ca href=\"https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+Minio%22\"\u003e \u003cimg src=\"https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-minio.yml?branch=main\u0026label=%F0%9F%A7%AA%20\u0026style=flat\u0026color=75C46B\" /\u003e \u003c/a\u003e\n- [MockStorage](./mockstorage/README.md) \u003ca href=\"https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+MockStorage%22\"\u003e \u003cimg src=\"https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-mockstorage.yml?branch=main\u0026label=%F0%9F%A7%AA%20\u0026style=flat\u0026color=75C46B\" /\u003e \u003c/a\u003e\n- [MongoDB](./mongodb/README.md) \u003ca href=\"https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+Mongodb%22\"\u003e \u003cimg src=\"https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-mongodb.yml?branch=main\u0026label=%F0%9F%A7%AA%20\u0026style=flat\u0026color=75C46B\" /\u003e \u003c/a\u003e\n- [MSSQL](./mssql/README.md) \u003ca href=\"https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+MSSQL%22\"\u003e \u003cimg src=\"https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-mssql.yml?branch=main\u0026label=%F0%9F%A7%AA%20\u0026style=flat\u0026color=75C46B\" /\u003e \u003c/a\u003e\n- [MySQL](./mysql/README.md) \u003ca href=\"https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+MySQL%22\"\u003e \u003cimg src=\"https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-mysql.yml?branch=main\u0026label=%F0%9F%A7%AA%20\u0026style=flat\u0026color=75C46B\" /\u003e \u003c/a\u003e\n- [NATS](./nats/README.md) \u003ca href=\"https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests%20Nats%20Driver%22\"\u003e \u003cimg src=\"https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-nats.yml?branch=main\u0026label=%F0%9F%A7%AA%20\u0026style=flat\u0026color=75C46B\" /\u003e \u003c/a\u003e\n- [Neo4j](./neo4j/README.md) \u003ca href=\"https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+Neo4j%22\"\u003e \u003cimg src=\"https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-neo4j.yml?branch=main\u0026label=%F0%9F%A7%AA%20\u0026style=flat\u0026color=75C46B\" /\u003e \u003c/a\u003e\n- [Pebble](./pebble/README.md) \u003ca href=\"https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+Pebble%22\"\u003e \u003cimg src=\"https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-pebble.yml?branch=main\u0026label=%F0%9F%A7%AA%20\u0026style=flat\u0026color=75C46B\" /\u003e \u003c/a\u003e\n- [Postgres](./postgres/README.md) \u003ca href=\"https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+Postgres%22\"\u003e \u003cimg src=\"https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-postgres.yml?branch=main\u0026label=%F0%9F%A7%AA%20\u0026style=flat\u0026color=75C46B\" /\u003e \u003c/a\u003e\n- [Redis](./redis/README.md) \u003ca href=\"https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+Redis%22\"\u003e \u003cimg src=\"https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-redis.yml?branch=main\u0026label=%F0%9F%A7%AA%20\u0026style=flat\u0026color=75C46B\" /\u003e \u003c/a\u003e\n- [Ristetto](./ristretto/README.md) \u003ca href=\"https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+Ristretto%22\"\u003e \u003cimg src=\"https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-ristretto.yml?branch=main\u0026label=%F0%9F%A7%AA%20\u0026style=flat\u0026color=75C46B\" /\u003e \u003c/a\u003e\n- [Rueidis](./rueidis/README.md) \u003ca href=\"https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+rueidis%22\"\u003e \u003cimg src=\"https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-rueidis.yml?branch=main\u0026label=%F0%9F%A7%AA%20\u0026style=flat\u0026color=75C46B\" /\u003e \u003c/a\u003e\n- [S3](./s3/README.md) \u003ca href=\"https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+S3%22\"\u003e \u003cimg src=\"https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-s3.yml?branch=main\u0026label=%F0%9F%A7%AA%20\u0026style=flat\u0026color=75C46B\" /\u003e \u003c/a\u003e\n- [ScyllaDB](./scylladb/README.md) \u003ca href=\"https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+scylladb%22\"\u003e \u003cimg src=\"https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-scylladb.yml?branch=main\u0026label=%F0%9F%A7%AA%20\u0026style=flat\u0026color=75C46B\" /\u003e \u003c/a\u003e\n- [SQLite3](./sqlite3/README.md) \u003ca href=\"https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+Sqlite3%22\"\u003e \u003cimg src=\"https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-sqlite3.yml?branch=main\u0026label=%F0%9F%A7%AA%20\u0026style=flat\u0026color=75C46B\" /\u003e \u003c/a\u003e\n- [SurrealDB](./surrealdb/README.md) \u003ca href=\"https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+surrealdb%22\"\u003e \u003cimg src=\"https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-surrealdb.yml?branch=main\u0026label=%F0%9F%A7%AA%20\u0026style=flat\u0026color=75C46B\" /\u003e \u003c/a\u003e\n- [Valkey](./valkey/README.md) \u003ca href=\"https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+valkey%22\"\u003e \u003cimg src=\"https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-valkey.yml?branch=main\u0026label=%F0%9F%A7%AA%20\u0026style=flat\u0026color=75C46B\" /\u003e \u003c/a\u003e\n\n\nSee the benchmarks under https://gofiber.github.io/storage/benchmarks\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgofiber%2Fstorage","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgofiber%2Fstorage","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgofiber%2Fstorage/lists"}