zoukankan      html  css  js  c++  java
  • Redis配置

    一、Redis配置项查看

      redis配置文件在其安装目录下的etc子目录中,文件名为redis.conf。也可以通过config命令查看redis的配置项:

    其中”config get *”表示查询所有配置,这里只截取其中几个配置项展示。

    二、Redis配置项说明

    服务器相关:

    1. bindredis绑定的主机地址。

    配置示例:

    bind 127.0.0.1

    2. port:指定redis监听的端口,默认为6379

    配置示例:

    port 6379

    3. requirepass:设置redis连接的密码,设置之后客户端连接redis时需要先通过auth命令提供密码进行验证才能进行后续操作,默认没有密码。

    配置示例:

    requirepass mypass

    4. daemonize设置redis是否以守护进程方式运行,默认为no

    配置示例:

    daemonize yes

    5. pidfile:当redis以守护进程方式运行时,会把pid写入pidfile配置的文件中。

    配置示例:

    pidfile /var/run/redis_6379.pid

    6. databases:设置数据库的数量,默认数据库id0,可以使用SELECT <dbid>命令在连接上指定数据库id

    配置示例:

    databases 16

    7. save:指定在多长时间内,有多少次更新操作,就将数据同步到数据文件,可以多个条件配合,配置格式为:save <seconds> <changes>

    redis默认配置:

    save 900 1

    save 300 10

    save 60 10000

    8. rdbcompression:设置数据是否进行压缩存储,默认为yesredis使用LZF压缩。

    配置示例:

    rdbcompression yes

    9. dbfilename:指定本地数据库文件名,默认为dump.rdb

    配置示例:

    dbfilename dump.rdb

    10. dir:指定本地数据库存放目录,默认为"./",即redis安装目录。

    配置示例:

    dir ./

    11. maxmemory:设置redis最大内存限制。redis在启动时会把数据加载到内存中,达到最大内存后,redis会先尝试清除已到期或即将到期的Key,当此方法处理后,仍然到达最大内存设置,将无法再进行写入操作,但仍然可以进行读取操作。redis新的vm机制,会把Key存放在内存,Value存放在swap区。

    配置格式:

    maxmemory <bytes>

    12. 指定在超过一定的数量或者最大的元素超过某一临界值时,采用一种特殊的哈希算法。

    hash-max-zipmap-entries 64

    hash-max-zipmap-value 512

    13. activerehashing:指定是否激活重置哈希,默认为yes

    配置示例:

    activerehashing yes

    14. include:指定包含其它的配置文件,可以在同一主机上多个redis实例之间使用同一份配置文件,而同时各个实例又拥有自己的特定配置文件

    配置示例:

    include /path/to/local.conf

     

    日志相关:

    1. loglevel:指定日志记录的级别,一共4个级别:debugverbosenoticewarning,默认为verbose

    配置示例:

    loglevel notice

    2. logfile:设置日志记录方式,默认为标准输出,如果配置redis以守护进程方式运行,而这里又配置日志记录方式为标准输出,则日志将会发送给/dev/null

    配置示例(这里配置为标准输出):

    logfile stdout

    3. appendonly:是否在每次更新操作后进行日志记录,即是否采用日志记录方式(aof)进行数据持久化,默认为no,采用快照方式进行持久化(snapshotting)。若设置为noredis会根据“save”配置参数设置的条件将内存中的数据同步到磁盘中,这可能会在服务器断电时丢失一些数据。

    配置示例:

    appendonly no

    4. appendfilename:指定更新日志文件名,默认为appendonly.aof

    配置示例:

    appendfilename appendonly.aof

    5. appendfsync:指定更新日志的条件,有3个可选值:

    no:表示等操作系统进行数据缓存同步到磁盘(快)

    always:表示每次更新操作后手动调用fsync()将数据写到磁盘(慢,安全)

    everysec:表示每秒同步一次(折衷,默认值)

    配置示例:

    appendfsync everysec

     

    虚拟内存机制相关:

    1. vm-enabled:是否启用虚拟内存机制,默认值为noVM机制将数据分页存放,由redis将访问量较少的页即冷数据swap到磁盘上,访问多的页面由磁盘自动换出到内存中。

    配置示例:

    vm-enabled no

    2. vm-swap-file:虚拟内存文件路径,默认值为/tmp/redis.swap,不可多个redis实例共享。

    配置示例:

    vm-swap-file /tmp/redis.swap

    3. vm-max-memory:将所有大于vm-max-memory的数据存入虚拟内存,默认为0。无论vm-max-memory设置多小,所有索引数据都是内存存储的(redis的索引数据就是keys),也就是说,当vm-max-memory设置为0的时候,其实是所有value都存在于磁盘。

    配置示例:

    vm-max-memory 0

    4. vm-page-sizeredis swap文件分成了很多的page,一个对象可以保存在多个page上面,但一个page上不能被多个对象共享,vm-page-size是要根据存储的数据大小来设定的,如果存储很多小对象,page大小最好设置为32或者64bytes;如果存储很多大对象,则可以使用更大的page,如果不确定,就使用默认值。

    配置示例:

    vm-page-size 32

    5. vm-pages:设置swap文件中的page数量,由于页表(一种表示页面空闲或使用的bitmap)是在放在内存中的,在磁盘上每8pages将消耗1byte的内存。

    配置示例:

    vm-pages 134217728

    6. vm-max-threads:设置访问swap文件的线程数,默认值为4。最好不要超过机器的核数,如果设置为0,那么所有对swap文件的操作都是串行的,可能会造成比较长时间的延迟。

    配置示例:

    vm-max-threads 4

     

    客户端相关:

    1. timeout:当客户端闲置多长时间后关闭连接,若指定为0则表示关闭该功能。

    配置示例:

    timeout 0

    2. maxclients:设置同一时间最大客户端连接数,默认为0,表示没有限制。redis可以同时打开的客户端连接数为redis进程可以打开的最大文件描述符数。当客户端连接数到达限制时,redis会关闭新的连接并向客户端返回错误:max number of clients reached

    配置示例:

    maxclients 1000

    3. glueoutputbuf:在向客户端应答时,是否把较小的包合并为一个包发送,默认为开启。

    配置示例:

    glueoutputbuf yes

     

    复制相关:

    1. slaveof:当本机为slave服务时,设置master服务的IP地址及端口,在redis启动时,它会自动从master进行数据同步。

    配置格式:

    slaveof <masterip> <masterport>

    2. masterauth:当master服务设置了密码保护时,slave服务连接master的密码。

    配置示例:

    masterauth mypass

  • 相关阅读:
    JavaScript--Promise(1)
    JavaScript--创建对象
    JavaScript--JSON
    JavaScript--generator
    JavaScript--闭包(1)
    JavaScript--sort()
    JavaScript--filter()
    JavaScript--map()&reduce()
    JavaScript--map&set
    3.11
  • 原文地址:https://www.cnblogs.com/wujuntian/p/8485855.html
Copyright © 2011-2022 走看看