directory search
Cluster cluster addslots(集群 槽位) cluster count failure reports(集群计数失败报告) cluster countkeysinslot cluster delslots cluster failover cluster forget cluster getkeysinslot cluster info cluster keyslot(集群键槽) cluster meet cluster nodes(集群节点) cluster replicate(集群复制) cluster reset(集群重置) cluster saveconfig cluster set config epoch cluster setslot cluster slaves cluster slots readonly readwrite Connection auth echo ping quit select swapdb Geo geoadd geodist geohash geopos georadius georadiusbymember Hashes hdel hexists hget hgetall hincrby hincrbyfloat hkeys hlen hmget hmset hscan hset hsetnx hstrlen hvals HyperLogLog pfadd pfcount pfmerge Keys del dump exists expire expireat keys migrate move object persist pexpire pexpireat pttl randomkey rename renamenx restore scan sort touch ttl type unlink wait Lists blpop brpop brpoplpush lindex linsert llen lpop lpush lpushx lrange lrem lset ltrim rpop rpoplpush rpush rpushx Pub/Sub psubscribe publish pubsub punsubscribe subscribe unsubscribe Scripting eval evalsha script debug script exists script flush script kill script load Server bgrewriteaof bgsave client getname client kill client list client pause client reply client setname command command count command getkeys command info config get config resetstat config rewrite config set dbsize debug object debug segfault flushall flushdb info lastsave monitor role save shutdown slaveof slowlog time Sets sadd scard sdiff sdiffstore sinter sinterstore sismember smembers smove spop srandmember srem sscan sunion sunionstore Sorted Sets zadd zcard zcount zincrby zinterstore zlexcount zrange zrangebylex zrangebyscore zrank zrem zremrangebylex zremrangebyrank zremrangebyscore zrevrange zrevrangebylex zrevrangebyscore zrevrank zscan zscore zunionstore Strings append bitcount bitfield bitop bitpos decr decrby get getbit getrange getset incr incrby incrbyfloat mget mset msetnx psetex set setbit setex setnx setrange strlen Transactions discard exec multi unwatch watch
characters

CONFIG REWRITE

自2.8.0起可用。

CONFIG REWRITE 命令重写redis.conf服务器启动时使用的文件,应用所需的最小更改,以使其反映服务器当前使用的配置,由于使用 CONFIG SET 命令,与原始配置相比可能会有所不同。

重写以非常保守的方式执行:

  • 尽可能保留原始 redis.conf 的注释和整体结构。

  • 如果旧的 redis.conf 文件中已经存在一个选项,它将被重写在相同的位置(行号)。

  • 如果某个选项尚不存在,但它被设置为其默认值,则不会通过重写过程添加该选项。

  • 如果某个选项尚不存在,但它被设置为非默认值,则会将其添加到文件末尾。

  • 未使用的行空白。例如,如果您曾经有过多个save指令,但由于您禁用 RDB 持久性,当前配置较少或没有,因此所有行将被清空。

如果由于某种原因原来的配置文件不再存在,CONFIG REWRITE 也可以从头重写配置文件。但是,如果服务器根本没有配置文件启动,那么 CONFIG REWRITE 只会返回一个错误。

原子重写过程

为了确保 redis.conf 文件始终保持一致,即在发生错误或崩溃时始终以旧文件或新文件结尾,重写将使用一次write(2)调用来执行,该调用的内容足以满足至少与旧文件一样大。有时会添加注释形式的附加填充以确保生成的文件足够大,并且稍后会截断文件以删除末尾的填充。

返回值

简单的字符串回复:OK当配置被正确地重写时。否则会返回错误。

Previous article: Next article: