近期整理了下项目中Redis配置参数,以便学习备用~

#指定内存大小,格式为1k 1GB 1M,单位不区分大小写

# 1k  => 1000 bytes

# 1kb => 1024 bytes

# 1m  => 1000000 bytes

# 1mb => 1024*1024 bytes

# 1g  => 1000000000 bytes

# 1gb => 1024*1024*1024 bytes

#redis连接的端口 启动后使用redis-cli -p 7001连接对应端口

port 7001

# 默认情况下 redis 不是作为守护进程运行的,如果你想让它在后台运行,你就把它改成 yes。

# 当redis作为守护进程运行的时候,它会写一个 pid 到 /var/run/redis.pid 文件里面。

daemonize no

#当redis作为守护进程运行的时候,它会把 pid 默认写到 /var/run/redis.pid 文件里面,

# 但是你可以在这里自己制定它的文件位置。

pidfile /usr/local/bin/redis.pid

## 设置数据库的数目(默认数据库是 DB 0)

databases 16

#该配置项为快照,格式为: save<间隔时间(秒)><写入次数>

如下表示:900 秒后如果至少有 1 个 key 的值变化,则保存;300 秒后如果至少有 10 个 key 的值变化,则保存;60 秒后如果至少有 10000 个 key 的值变化,则保存,也可不设置,不进行保存

save 900 1

save 300 10

save 60 10000

# 默认情况下,如果 redis 最后一次的后台保存失败,redis 将停止接受写操作,

# 这样以一种强硬的方式让用户知道数据不能正确的持久化到磁盘,

# 否则就会没人注意到灾难的发生。

# 如果后台保存进程重新启动工作了,redis 也将自动的允许写操作。

# 然而你要是安装了靠谱的监控,你可能不希望 redis 这样做,那你就改成 no 好了。

stop-writes-on-bgsave-error yes

# 是否在 dump .rdb 数据库的时候使用 LZF 压缩字符串

# 默认都设为 yes

# 如果你希望保存子进程节省点 cpu ,你就设置它为 no ,

# 不过这个数据集可能就会比较大

rdbcompression yes

rdbchecksum yes

# rdb info  设置dump的文件位置,写入指定目录

dbfilename dump_7001.rdb

dir /etc/redis/rdb/

#主从复制 使用slaveof来让一个redis实例成为另一个redis实例的副本,这个只需要在slave上配置.

#slaveof <masterip><masterport>

#如果master 需要密码认证,就在这里设置

#masterauth <master-password>

#如果为yes ,slave仍然会应答客户端请求,但返回的数据可能过时,也可能在第一次同步时为空

slave-serve-stale-data yes

#设置slave为只读的

slave-read-only yes

#无磁盘复制功能

repl-diskless-sync no

#当收到第一个请求时,等待多个slave一起来请求之间的间隔时间

repl-diskless-sync-delay 5

#在slave和master同步后(发送psync/sync),后续的同步是否设置成TCP_NODELAY

#假如设置成yes,则redis会合并小的TCP包从而节省带宽,但会增加同步延迟(40ms),造成master和slave数据不一致。

#假如设置成no,则redis master会立即发送同步数据,没有延迟。

repl-disable-tcp-nodelay yes

#当master不能正常工作的时候,Redis Sentinel会从slaves中选出一个新的master,这个值越小,就越会被优先选中,但是如果是0,就是意味着这个slave不可能被选中。

slave-priority 100

#最大使用内存

maxmemory 20g

#是否在每次更新操作后进行日志记录,如果不开启,可能会在断电时导致一段时间内的数据丢失。之前配置的save同步数据,是以间隔性质,也就是说,有段时间可能数据只存在于内存

appendonly no

#默认是everysec,按照速度和安全折中是最好的,每一秒写入aof文件,并完成磁盘同步

appendfsync everysec

#redis 提供了两种持久化机制,rdb和aof。如果该参数设置为no,是最安全的方式,不会丢失数据,但是要忍受阻塞的问题,如果设置为yes,这就相当于将appendfsync设置为no,这说明并没有执行磁盘操作,只是写入了缓冲区,因此这样并不会造成阻塞(因为没有竞争磁盘),但是如果这个时候redis挂掉,就会丢失数据。

no-appendfsync-on-rewrite yes

#限制脚本的最长运行时间

lua-time-limit 5000

#slowlog是redis用于记录记录慢查询执行时间的日志系统

slowlog-log-slower-than 10000

#hash类型的数据结构在编码上可以使用ziplist和hashtable。ziplist的特点就是文件存储(以及内存存储)所需的空间较小,在内容较小时,性能和hashtable几乎一样.因此redis对hash类型默认采取ziplist。如果hash中条目的条目个数或者value长度达到阀值,将会被重构为hashtable

hash-max-ziplist-entries 128

#这个参数指的是ziplist中允许存储的最大条目个数,,默认为512

hash-max-ziplist-value 1024

以下如上:

ist-max-ziplist-entries 256

list-max-ziplist-value 1024

set-max-intset-entries 512

zset-max-ziplist-entries 128

zset-max-ziplist-value 64

hll-sparse-max-bytes 3000

#指定是否激活重置哈希,默认为开启

activerehashing yes

#默认情况下,"hz"的被设定为10.提高该值将在Redis空闲时使用更多的CPU时,但同时当有多个key同时到期会使Redis的反映更灵敏,以及超时可以更精确地处理。

#范围是1到500之间,但是值超过100通常不是一个好主意。

#大多数用户应该使用10这个默认值,只有在非常低的延迟要求时有必要提高到100.

hz 10

#当一个子进程重写AOF文件时,如果启用下面的选项,则文件每生成32M数据会被同步。为了增量式的写入磁盘

#并且避免大的延迟高峰这个指令是非常有用的

aof-rewrite-incremental-fsync yes

Redis应用配置项说明的更多相关文章

  1. 30个redis.conf 配置项说明

    redis.conf 配置项说明如下: 1. Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程 daemonize no 2. 当Redis以守护进程方式运行时,R ...

  2. redis.conf 配置项说明

    redis.conf 配置项说明如下: Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程   daemonize no 当Redis以守护进程方式运行时,Redis ...

  3. redis主要配置项

    目录 redisd配置 redis主要配置项 这里就列举两例示例,之后的实验会有详细的示例!! redisd配置 redis主要配置项 bind 0.0.0.0 #监听地址,可以用空格隔开后多个监听I ...

  4. redis.conf配置项说明

    #是否以后台进程运行,默认为no,如果需要以后台进程运行则改为yes daemonize no #如果以后台进程运行的话,就需要指定pid,你可以在此自定义redis.pid文件的位置. pidfil ...

  5. 4、解析配置文件 redis.conf、Redis持久化RDB、Redis的主从复制

    1.Units单位 配置大小单位,开头定义了一些基本的度量单位,只支持bytes,不支持bit 对大小写不敏感 2.INCLUDES包含 和我们的Struts2配置文件类似,可以通过includes包 ...

  6. 就publish/subscribe功能看redis集群模式下的队列技术(一)

    Redis 简介 Redis 是完全开源免费的,是一个高性能的key-value数据库. Redis 与其他 key - value 缓存产品有以下三个特点: Redis支持数据的持久化,可以将内存中 ...

  7. redis 常用配置

    参数说明 redis.conf 配置项说明如下: 1. Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程 daemonize no 2. 当Redis以守护进程方式 ...

  8. redis配置文件redis.conf说明

    redis.conf 配置项说明如下:1. Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程    daemonize no2. 当Redis以守护进程方式运行时, ...

  9. 在windows下面配置redis集群遇到的一些坑

    最近工作不忙,就决定学习一下redis.因为一直在windows下工作,不会linux,没办法就选择在windows下配置redis. windows下配置redis集群的文章有很多,比如:http: ...

随机推荐

  1. jquery省市联动,根据公司需求而写

    //author:guan //2015-05-25 //省市联动 //实用说明,页面引用如下js //<script src="../js/jquery-1.6.3.min.js&q ...

  2. 控制面板中java设置项如何删除

    卸载jdk或者jre后,如果控制面板中仍然有java项,重新安装可能仍然无法设置,提示找不到"javacpl.exe" 解决办法:删除C:\windows\system32\下的j ...

  3. thinkphp 介绍

    一.ThinkPHP的介绍             MVC  M - Model 模型                工作:负责数据的操作  V - View  视图(模板)        工作:负责 ...

  4. IntelliJ IDEA 工具常用快捷键

    IntelliJ IDEA是java语言开发的集成环境,IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手.代码自动提示.重构.J2EE支持.各类版本工具(git.svn.g ...

  5. gulp学习笔记

    第一步:安装Node 首先,gulp 是基于 Nodejs 的自动任务运行器,所以安装gulp之前,最基本也最重要的是,我们需要搭建node环境.访问http://nodejs.org,下载并安装No ...

  6. 为什么js加事件时不要写括号

    function al(){alert("我擦")}此时,al代表这个函数的对象,al()就是直接运行了.var nfun=al;就是让nfun也指向了al,此时nfun()就相当 ...

  7. MySQL查询缓存

    MySQL查询缓存 用于保存MySQL查询语句返回的完整结果,被命中时,MySQL会立即返回结果,省去解析.优化和执行等阶段. 如何检查缓存? MySQL保存结果于缓存中: 把SELECT语句本身做h ...

  8. 统计Apache或Nginx访问日志里的独立IP访问数量的Shell

    1.把IP数量直接输出显示: cat access_log_2011_06_26.log |awk '{print $1}'|uniq -c|wc -l 2.把IP数量输出到文本显示: cat acc ...

  9. web服务器软件集成包问题

    今天下了wampserver,运行错误缺少dll,然后下载apprev也是,最后下了个wampserver 32位了终于没问题了.

  10. rails查询mongodb通用查询

    ruby on rails 很好的跟mongodb进行了结合,gem包: 地址:https://rubygems.org/gems/mongoid 文档:https://docs.mongodb.co ...