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

    在redis.conf文件【SECURITY】区域配置:

    1、禁用命令:

    rename-command KEYS ""
    rename-command FLUSHALL ""
    rename-command FLUSHDB ""
    rename-command CONFIG ""

    2、重命名命令:

    rename-command KEYS "xxxxxxxxxxxx"
    rename-command FLUSHALL "yyyyyyyyyyyyy"
    rename-command FLUSHDB "qqqqqqqqqqqqq"
    rename-command CONFIG "aaaaaaaaaaaaaa"

    -------------------------------------------------------------------------------------------------------------

    如果不指定配置文件,redis也可以启动,此时,redis使用默认的内置配置。不过在正式环境,常常通过配置文件【通常叫redis.conf】来配置redis。

    redis.conf配置格式如下:

            keyword argument1 argument2 ... argumentN  


    redis.conf配置参数:

    1)daemonize on|yes

    redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes时,启用守护进程

    2)pidfile /var/run/redis_6379.pid

    redis以守护进程方式运行时,系统默认会把pid写入/var/run/redis.pid,可以通过pidfile指定pid文件

    3)port 6379

    redis默认监听6379端口,可以通过port指定redis要监听的端口

    4)bind 127.0.0.1

    绑定主机地址

    5)unixsocket /tmp/redis.sock

    指定redis监听的unix socket 路径

    6)timeout 300

    当客户端闲置多长时间,关闭连接,单位秒

    7)loglevel verbose|debug|notice|warning

    指定日志记录级别,默认是verbose

    8)logfile /var/log/redis_6379.log

    日志记录文件,默认是标准输出stdout,如果redis以守护进程方式运行,logfile 配置为stdout时,logs将要输出到/dev/null

    9)syslog-enabled no|yes

    当配置为yes时,日志输出到系统日志,默认是no

    10)syslog-ident redis

    指定syslog的标示符

    11)syslog-facility local0

    指定syslog设备(facility),必须是user或则local0到local7

    12)databases 16

    设置redis中数据库的个数,默认数据库是DB 0,可以通过select <dbid>,选择使用的数据库。dbis大于等于0,小于等于databases -1 【这里是16-1】

    13)save <seconds> <changes>

    指定多长时间内,有多少次更新操作时,将数据同步到数据库文件,可以多个条件配合,系统默认配置如下: 

    1. save 900 1         #900秒 1次修改  
    2. save 300 10       #300秒 10次修改 
    3. save 60 10000   #60秒 10000次修改 
    1 save 900 1    #当有一条Keys数据被改变时,900秒刷新到Disk一次
    2 save 300 10   #当有10条Keys数据被改变时,300秒刷新到Disk一次
    3 save 60 10000 #当有10000条Keys数据被改变时,60秒刷新到Disk一次

     

    注意,如果不持久化【不把数据写入磁盘】,注释掉save即可。  那么只要满足以上三个条件中的任意一个,BGSAVE命令就会被执行。

    14)rdbcompression yes|no

    数据dump到数据文件时,系统是否压缩string对象数据,系统默认是yes。如果为了节省cpu,可以设置为no,此时数据文件比用LZF压缩时要大
    15)dbfilename dump.rdb

    指定数据库文件名,默认是dump.rdb

    16)dir /var/lib/redis/6379

    指定本地数据库存放目录

    17)slaveof <masterip> <masterport>

    当本机是slave服务时,设置master服务的ip和端口

    18)masterauth <master-password>

    当master服务设置了密码时,slave服务连接master的密码。如果配置不对,slave服务请求将被拒绝

    19)slave-serve-stale-data yes|no

    当slave和master之间的连接断开或slave正在于master同步时,如果有slave请求,当slave-serve-stale-data配置为yes时,slave可以相应客户端请求;当为no时,slave将要响应错误,默认是yes

    20)requirepass foobared

    设置redis连接密码

    21)maxclients 128

    设置同一时间客户端最大连接数,默认是无限制。如果设置maxclients 0 时,表示不限制

    22)maxmemory <bytes>

    指定redis最大内存限制,redis在启动时,会把数据加载到内存中,达到最大内存后,redis会先清除已到期或将过期的key,仍然到达最大内存设置,将无法再进行写入操作,但仍然可以进行读操作

    23)maxmemory-policy volatile-lru|allkeys-lru|volatile-random|allkeys->random|volatile-ttl|noeviction

    当redis使用内存达到最大时,使用哪种策略移除内存中数据

    24)appendonly no|yes

    指定是否在每次更新操作后进行日志记录,默认配置是no,即在采用异步方式把数据写入到磁盘,如果不开启,可能会在断电时导致部分数据丢失

    25)appendfilename appendonly.aof

    指定更新日志文件名【aof日志】,默认为appendonly.aof

    26)appendfsync everysec|no|aways

    指定更新日志条件,no表示等操作系统进行数据缓存同步到磁盘的aof文件(快)always表示每次更新操作后手动调用fsync将数据写到磁盘的aof文件(慢,安全)

    everysec,表示每秒同步一次(拆中,默认值)

    1 appendonly yes       #启用AOF持久化方式
    2 appendfilename appendonly.aof #AOF文件的名称,默认为appendonly.aof
    3 # appendfsync always #每次收到写命令就立即强制写入磁盘,是最有保证的完全的持久化,但速度也是最慢的,一般不推荐使用。
    4 appendfsync everysec #每秒钟强制写入磁盘一次,在性能和持久化方面做了很好的折中,是受推荐的方式。
    5 # appendfsync no     #完全依赖OS的写入,一般为30秒左右一次,性能最好但是持久化最没有保证,不被推荐。

    27)slowlog-log-slower-than 10000

    配置记录慢日志的条件,单位是微妙,当是负值时,关闭慢日志记录,当是0时,记录所有操作

    28)slowlog-max-len 1024

    配置记录慢查询的最大条数

    29)hash-max-zipmap-entries 512

    配置最大元素数,当超过该配置数据时,redis采用特殊hash算法

    30)hash-max-zipmap-value 64

    配置最大元素值,当草果配置值时,采用特殊hash算法

    31)activerehashing yes

    指定是否激活充值hash,默认开启

    可以通过下面命令使用配置文件redis.conf启动redis服务 

         /usr/local/redis/bin/redis-server   /usr/local/redis/etc/redis.conf  

     

    我曾使用过的redis.conf文件:

    daemonize yes
    pidfile /var/run/redis.pid
    port 6379
    timeout 0
    loglevel notice
    logfile /usr/local/redis-2.4.16/log/redis.log
    databases 16
    save 900 1
    save 300 10
    save 60 10000
    rdbcompression yes
    dbfilename dump.rdb
    dir /usr/local/redis-2.4.16
    slave-serve-stale-data yes
    appendonly no
    appendfsync everysec
    no-appendfsync-on-rewrite no
    auto-aof-rewrite-percentage 100
    auto-aof-rewrite-min-size 64mb
    slowlog-log-slower-than 10000
    slowlog-max-len 128
    vm-enabled no
    vm-swap-file /tmp/redis.swap
    vm-max-memory 0
    vm-page-size 32
    vm-pages 134217728
    vm-max-threads 4
    hash-max-zipmap-entries 512
    hash-max-zipmap-value 64
    list-max-ziplist-entries 512
    list-max-ziplist-value 64
    set-max-intset-entries 512
    zset-max-ziplist-entries 128
    zset-max-ziplist-value 64
    activerehashing yes

     

    参考资料:http://dumbee.net/archives/114

     

     

  • 相关阅读:
    jvm基本结构和解析
    多态的意思
    java中对象的简单解读
    double类型和int类型的区别
    python 解析xml文件
    win10不能映射Ubuntu共享文件
    Qt程序打包
    Ubuntu boot分区文件误删,系统无法启动,怎么解
    ubuntu Boot空间不够问题“The volume boot has only 5.1MB disk space remaining”
    Ubuntu 分辨率更改 xrandr Failed to get size of gamma for output default
  • 原文地址:https://www.cnblogs.com/wjoyxt/p/3860446.html
Copyright © 2011-2022 走看看