Example Usage
CLI
Installation and Configuration:
go install github.com/DGKSK8LIFE/redisql/redisql
Create a YAML file with the following structure:
sqltype: sqluser: sqlpassword: sqldatabase: sqlhost: sqlport: sqltable: redisaddr: redispass: log_level: log_filenane:
(log_level and log_filename are optional. Default logging is none and default output is stdout)
Logging Levels:
0- no logging at all1- summary of actions being performed by redisql2- all actions (including individual keys and their values being performed by redisql
Usage:
# copy to redis string redisql copy -type=string -config=pathtofile.yml # copy to redis list redisql copy -type=list -config=pathtofile.yml # copy to redis hash redisql copy -type=hash -config=pathtofile.yml
Library
Installation:
go get github.com/DGKSK8LIFE/redisql
Usage:
package main import ( "github.com/DGKSK8LIFE/redisql" ) func main() { config := redisql.Config{ SQLType: "mysql", SQLUser: "root", SQLPassword: "password", SQLDatabase: "users", SQLHost: "localhost", SQLPort: "3306", SQLTable: "user", RedisAddr: "localhost:6379", RedisPass: "", } err := config.CopyToString() if err != nil { panic(err) } }
Other Methods:
// copy to redis list config.CopyToList() // copy to redis hash config.CopyToHash()
Contributing
Check out CONTRIBUTING
Current Functionality and Limitations
- Copying of entire SQL tables to Redis via CLI and Go Module
- Support for most commonly used Redis data types (strings, lists, hashes)
- Support for Postgres and MySQL
- Advanced logging with levels and optional file output
- Autosync
- Dockerization
