《Redis官方教程》-Redis的配置

原文链接   译者:   校对:方腾飞

Redis支持采用其内置默认配置的方式来进行启动,而不需要提前配置任何文件,但是这种启动方式只推荐在测试和开发环境中使用。

更好的方式是通过提供一个Redis的配置文件来对Redis进行配置, 这个配置文件一般命名为’redis.conf’。

‘redis.conf’ 文件中包含一系列格式非常简单的配置项,如下所示:

keyword argument1 argument2 ... argumentN

简单配置示例:

slaveof 127.0.0.1 6380 

如果说配置参数值中包含空格,则需要为其添加双引号,如下所示:

requirepass "hello world"

所有这些配置项的列表,以及它们的意思和用法,都可以参考Redis发行版中的redis.conf自说明示例文档。


通过命令行传递参数

自Redis 2.6 开始,Redis就可以支持通过命令行来传递配置参数。这个功能对测试来说非常有用。
下面这个是例子是使用6380端口来启动一个新的Redis实例,并且从实例在127.0.0.1的6379端口运行。

./redis-server --port 6380 --slaveof 127.0.0.1 6379

命令行传递参数的格式和在redis.conf文件中配置参数的格式是一样的, 唯一的不同之处是在命令行参数关键字前需要添加’–‘前缀。

注意:采用这种方式,其内部会在内存中生成一个临时的配置文件(可能会把用户传递的任意配置项都添加到配置文件里),传递的参数会转换成redis.conf文件的格式。


运行时改变Redis配置

Redis支持在运行时通过使用命令CONFIG SETCONFIG GET 来对配置项进行重新配置,以及通过编程来查询Redis当前的配置项,设置和查询不需要停止和重启服务。

并不是所有的配置项都支持这种配置方式,但是大部分是支持的。具体的支持情况请参考:
CONFIG SETCONFIG GET

注意:运行时动态修改的配置项 不会影响redis.conf文件中的配置,在下一次重启时,又会恢复以前的配置。

如果通过CONFIG SET修改了某些配置项,还确定要同时修改’redis.conf’配置文件中相对应的配置项。则需要你自己手动去修改,或者使用Redis 2.8。在Redis2.8 中,你只要使用CONFIG REWRITE 来重写参数项,将自动去扫描你的’redis.conf’文件,如果发现配置的值和你要修改的值不匹配的话,则会将配置的值更新为新设置的值。如果对应的配置项不存在,则会设置为默认值而不是新添加的。配置文件中的注释将会被保留。


将Redis配置为缓存

如果你计划将Redis当作一个缓存来使用,而且每一个key都需要有一个过期设置,你可以考虑使用如下的配置(示例中假设最大内存限制为2M):

maxmemory 2mb
maxmemory-policy allkeys-lru

在这个配置中,应用程序不需要再使用 ‘EXPIRE’ 命令(或者相同的命令)为每一个存活的key设置一个过期时间,因为所有的key在都将在达到2M内存限制时,使用近似LRU算法对其进行淘汰。

基本上,采用这个配置,Redis的表现将与memcached类似。更详细的文档请参考使用Redis作为LRU缓存

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/117760.html

(0)
上一篇 2021年8月28日 03:54
下一篇 2021年8月28日 03:54

相关推荐

发表回复

登录后才能评论