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
# 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
go get github.com/DGKSK8LIFE/redisql
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)
}
}
// copy to redis list
config.CopyToList()
// copy to redis hash
config.CopyToHash()
Check out CONTRIBUTING
- 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