在redis的使用过程中,有时候需要急需修改redis的配置,比如在业务运行的情况下,内存不够怎么办,这时要么赶紧删除无用的内存,要么扩展内存。如果有无用的内容可删除那么所有问题都已经解决。如果内容都是重要的,那只能选择扩展内存。说到扩展内存,redis为我们提供了一个命令。

CONFIG SET

CONFIG SET parameter value

CONFIG SET 命令可以动态地调整 Redis 服务器的配置(configuration)而无须重启。

你可以使用它修改配置参数,或者改变 Redis 的持久化(Persistence)方式。

CONFIG SET 可以修改的配置参数可以使用命令 CONFIG GET * 来列出,所有被 CONFIG SET 修改的配置参数都会立即生效。

关于 CONFIG SET 命令的更多消息,请参见命令 CONFIG GET 的说明。

关于如何使用 CONFIG SET 命令修改 Redis 持久化方式,请参见 Redis Persistence 。
可用版本:>= 2.0.0时间复杂度:不明确返回值:当设置成功时返回 OK ,否则返回一个错误。

  

例如:动态添加内存

redis 127.0.0.1:6379> config get maxmemory
1) "maxmemory"
2) "3221225472"
redis 127.0.0.1:6379> config set maxmemory 4294967296
OK
redis 127.0.0.1:6379> config get maxmemory
1) "maxmemory"
2) "4294967296"

我们看看那些参数 redis可以动态设置

redis 127.0.0.1:6379> config get *
  1) "dbfilename"
  2) "dump.rdb"
  3) "requirepass"
  4) ""
  5) "masterauth"
  6) ""
  7) "bind"
  8) ""
  9) "unixsocket"
 10) ""
 11) "logfile"
 12) ""
 13) "pidfile"
 14) "/usr/local/redis/var/run/redis.pid"
 15) "maxmemory"
 16) "4294967296"
 17) "maxmemory-samples"
 18) "3"
 19) "timeout"
 20) "0"
 21) "tcp-keepalive"
 22) "60"
 23) "auto-aof-rewrite-percentage"
 24) "100"
 25) "auto-aof-rewrite-min-size"
 26) "67108864"
 27) "hash-max-ziplist-entries"
 28) "512"
 29) "hash-max-ziplist-value"
 30) "64"
 31) "list-max-ziplist-entries"
 32) "512"
 33) "list-max-ziplist-value"
 34) "64"
 35) "set-max-intset-entries"
 36) "512"
 37) "zset-max-ziplist-entries"
 38) "128"
 39) "zset-max-ziplist-value"
 40) "64"
 41) "lua-time-limit"
 42) "5000"
 43) "slowlog-log-slower-than"
 44) "10000"
 45) "slowlog-max-len"
 46) "128"
 47) "port"
 48) "6379"
 49) "databases"
 50) "32"
 51) "repl-ping-slave-period"
 52) "10"
 53) "repl-timeout"
 54) "60"
 55) "maxclients"
 56) "10000"
 57) "watchdog-period"
 58) "0"
 59) "slave-priority"
 60) "100"
 61) "hz"
 62) "10"
 63) "no-appendfsync-on-rewrite"
 64) "no"
 65) "slave-serve-stale-data"
 66) "yes"
 67) "slave-read-only"
 68) "yes"
 69) "stop-writes-on-bgsave-error"
 70) "yes"
 71) "daemonize"
 72) "yes"
 73) "rdbcompression"
 74) "yes"
 75) "rdbchecksum"
 76) "yes"
 77) "activerehashing"
 78) "yes"
 79) "repl-disable-tcp-nodelay"
 80) "no"
 81) "aof-rewrite-incremental-fsync"
 82) "yes"
 83) "appendonly"
 84) "no"
 85) "dir"
 86) "/usr/local/redis/db"
 87) "maxmemory-policy"
 88) "volatile-lru"
 89) "appendfsync"
 90) "everysec"
 91) "save"
 92) "900 1 300 10 60 10000"
 93) "loglevel"
 94) "notice"
 95) "client-output-buffer-limit"
 96) "normal 0 0 0 slave 268435456 67108864 60 pubsub 33554432 8388608 60"
 97) "unixsocketperm"
 98) "0"
 99) "slaveof"