1. String类型Set、Get操作

  1. package main
  2. import (
  3. "fmt"
  4. "github.com/garyburd/redigo/redis"
  5. )
  6. func main() {
  7. c, err := redis.Dial("tcp", "localhost:6379")
  8. if err != nil {
  9. fmt.Println("conn redis failed,", err)
  10. return
  11. }
  12. defer c.Close()
  13. _, err = c.Do("Set", "abc", 100)
  14. if err != nil {
  15. fmt.Println(err)
  16. return
  17. }
  18. r, err := redis.Int(c.Do("Get", "abc"))
  19. if err != nil {
  20. fmt.Println("get abc failed,", err)
  21. return
  22. }
  23. fmt.Println(r)
  24. }

运行结果:

  1. MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk. Commands that may modify the data set are disabled. Please check Redis logs for details about the error.

Redis被配置为保存数据库快照,但它目前不能持久化到硬盘。用来修改集合数据的命令不能用。请查看Redis日志的详细错误信息。

原因:

强制关闭Redis快照导致不能持久化。

解决方案:

运行config set stop-writes-on-bgsave-error no 命令后,关闭配置项stop-writes-on-bgsave-error解决该问题。

开启命令行新窗口 2:

链接Redis:

  1. redis-cli -h 127.0.0.1 -p 6379
  2. 127.0.0.1:6379> config set stop-writes-on-bgsave-error no
  3. OK

返回命令行窗口 1 运行程序:

  1. go run main.go

输出结果:

  1. 100

命令行窗口 2:

  1. 127.0.0.1:6379> get abc
  2. "100"