main.go 970 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. // Author: simon (ynwdlxm@163.com)
  2. // Date: 2025/5/26 11:33
  3. // Desc:
  4. package main
  5. import (
  6. "fmt"
  7. "os"
  8. "github.com/runningwater/go-redis/config"
  9. "github.com/runningwater/go-redis/lib/logger"
  10. "github.com/runningwater/go-redis/tcp"
  11. )
  12. const configFile string = "redis.conf"
  13. var defaultProperties = &config.ServerProperties{
  14. Bind: "0.0.0.0",
  15. Port: 6379,
  16. }
  17. func fileExists(fileName string) bool {
  18. info, err := os.Stat(fileName)
  19. return err == nil && !info.IsDir()
  20. }
  21. func main() {
  22. logger.Setup(&logger.Settings{
  23. Path: "logs",
  24. Name: "go-redis",
  25. Ext: "log",
  26. TimeFormat: "2006-01-02",
  27. })
  28. if fileExists(configFile) {
  29. config.SetupConfig(configFile)
  30. } else {
  31. config.Properties = defaultProperties
  32. }
  33. logger.Info("start server")
  34. err := tcp.ListenAndServeWithSignal(
  35. &tcp.Config{
  36. Address: fmt.Sprintf("%s:%d", config.Properties.Bind, config.Properties.Port),
  37. },
  38. tcp.NewEcho(),
  39. )
  40. if err != nil {
  41. logger.Error(err)
  42. }
  43. }