标签: redis配置

  • centos 下安装 redis ,只有步骤,补充参数说明

    wget http://download.redis.io/redis-stable.tar.gz

    tar xvzf redis-stable.tar.gz

    cd redis-stable

    make

     

    前面3步应该没有问题,主要的问题是执行make的时候,出现了异常。

    异常一:

    make[2]: cc: Command not found

    异常原因:没有安装gcc

    解决方案:yum install gcc-c++

     

    异常二:

    zmalloc.h:51:31: error: jemalloc/jemalloc.h: No such file or directory

    异常原因:一些编译依赖或原来编译遗留出现的问题

    解决方案:make distclean。清理一下,然后再make。

     

     

    在make成功以后,需要make test。在make test出现异常。

    异常一:

    couldn’t execute “tclsh8.5”: no such file or directory

    异常原因:没有安装tcl

    解决方案:yum install -y tcl。

     

    在make成功以后,会在src目录下多出一些可执行文件:redis-server,redis-cli等等。

    方便期间用cp命令复制到usr目录下运行。

    cp redis-server /usr/local/bin/

    cp redis-cli /usr/local/bin/

    然后新建目录,存放配置文件

    mkdir /etc/redis

    mkdir /var/redis

    mkdir /var/redis/log

    mkdir /var/redis/run

    mkdir /var/redis/6379

     

    在redis解压根目录中找到配置文件模板,复制到如下位置。

    cp redis.conf /etc/redis/6379.conf

    通过vim命令修改

    daemonize yes

    pidfile /var/redis/run/redis_6379.pid

    logfile /var/redis/log/redis_6379.log

    dir /var/redis/6379

    最后运行redis:

    $ redis-server /etc/redis/6379.conf
    
    
    配置参数说明:
    
    

    daemonize <yes|no>:是否以后台daemon方式运行 # yes|no (default:no)

    pidfile <*.pid>:pid文件位置,daemonize为yes时才起作用 # *.pid路径 (ex:/var/run/redis.pid)

    port <port>:监听的端口号 # (default:6379)

    timeout <seconds>:请求超时时间(单位:秒)

    loglevel <debug|verbose|notice|warning>:log信息级别 # debug|verbose|notice|warning

    logfile <filename>:log文件位置 # (default:stdout)

    databases <number>:开启数据库的数量

    save <seconds> <changes>:保存快照的频率,在一定时间内执行一定数量的写操作时,自动保存快照。可设置多个条件。

    slaveof <master-ip> <master-port>: 当本机为从服务时,设置主服务的IP及端口

    masterauth <master-password>: 当本机为从服务时,设置主服务的连接密码

    requirepass: 连接密码

    maxclients <number>: 最大客户端连接数,0为不限制 # (default:0)

    maxmemory <bytes>: 设置最大内存,达到最大内存设置后,Redis会先尝试清除已到期或即将到期的Key,当此方法处理后,任到达最大内存设置,将无法再进行写入操作。

    rdbcompression <yes|no>:是否使用压缩 # yes|no (default:yes)

    dbfilename <*.rdb>:数据快照文件名(只是文件名,不包括目录) # *.rdb

    dir <directory>:数据快照的保存目录(这个是目录)

    appendonly <yes|no>:是否开启appendonlylog,开启的话每次写操作会记一条log,这会提高数据抗风险能力,但影响效率。# yes|no

    appendfilename <*.aof> 更新日志文件名 # (default:appendonly.aof)

    appendfsync <always|everysec|no>:appendonlylog如何同步到磁盘(always:每次写都强制调用fsync; everysec:每秒启用一次fsync; no:不调用fsync等待系统自己同步)

    vm-enabled <yes|no>: 是否启用虚拟内存 # yes|no (default:no)

    vm-swap-file <*.swap>: 交换分区文件(启用虚拟内存时使用) # *.swap路径 (ex:/tmp/redis.swap)

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

    vm-page-size <bytes>: swap文件页大小(根据存储的值大小设置,单位byte)# (default:32)

    vm-pages <number>: 交换分区文件中内存页的数量 # (default:134217728)

    vm-max-threads <number>: 对swap文件操作的最大线程数(最好为CPU个数)# (default:4)

    glueoutputbuf <yes|no>: # yes|no (default:yes)

    hash-max-zipmap-entries <number>: # (default:64)

    hash-max-zipmap-value <number>: # (default:512)

    activerehashing <yes|no>: # yes|no (default:yes)

    include <*.conf>: 引用另外一个配置文件 # *.conf路径 (ex:/path/to/other.conf)