咱们先看看config 默认状况下系统是怎么配置的。在命令行中输入 config get *(如图)html


默认状况下有61配置信息,每个命令占两行,第一行为配置名称信息,第二行为配置的具体信息。
咱们就从上到下来理解一下这些配置信息中的某些配置:
1.dbfilename是本地持久化存储数据库文件名,默认为dump.rdb。我能够在安装目录文件夹下找到这个文件。
2.requirepass是密码,即链接服务器的密码,默认为空。下面我来设置一个密码而后用带密码的命令链接一遍。
3.msterauth设置链接mster服务的密码(主从服务器的主服务器)。
4.logfile日记记录的地址及文件名称。
5.maxmemory 设置最大内存
6.timeout一个客户端闲置多少秒后关闭,默认是0,表明禁止,永不关闭
7.auto-aof-rewrite-percentage AOF重写文件的百分比,若是是100表示整个文件重写,若是是0表示禁用AOF自动重写特性
8.auto-aof-rewrite-min-size 当前AOF文件大于多少是开始重写AOF文件
9.hash-max-zipmap-entries 512 配置字段最多512个。
10.hash-max-zipmap-value 64 配置value最大为64字节。
11.list-max-ziplist-entries 512 配置list最大长度512个
12.list-max-ziplist-value 64 配置list的value最大长度64字节
13.set-max-intset-entries 512 配置set最大长度512个
14.zset-max-ziplist-entries 128 配置zset最大长度512个
15.zset-max-ziplist-value 64 配置zset的value最大长度64字节
16.slowlog-log-slower-than 10000 配置这个告诉redis当一个命令执行超过多少时会被记录,单位是微秒。被记录的命令咱们能够经过查看slowlog get 100(number) 查看
17.slowlog-max-len 128 设置日记记录的条数
18.port 6379 端口号为6379
19.databases 16 当前redis服务器有16个数据库
20.repl-ping-slave-period 10 salve根据时间间隔向master发送ping请求,默认是10秒。
21.repl-timeout 60 设置同步的超时时间 默认60秒
22.repl-backlog-size 1mb 设置数据备份的backlog大小,当一个slave在一段时间断开链接时记录salve数据的缓冲,当它从新链接时,没必要同步所有数据。
23.repl-backlog-ttl 3600 当slave在一段时间断开后多少时间咱们释放backlog中的数据。
24.maxclients 10000 最大同时链接的客户端数量
25.slave-priority 100 slave优先级,若是master再也不正常工做了,哨兵将用它来选择一个slave提高为master。数字越小 优先级越高,可是数字为0时这个slave永远不会提高为master。
26.min-slaves-to-write N与min-slaves-max-lag M是一块儿设置的。表示若是master少于N个延迟小于等于M秒的已链接slave,就能够中止接收写操做。
27.slave-server-stale-date yes 当一个slave失去可master的链接时,或者正在进行同步中,咱们设置slave-server-stale-date为yes表示slave会继续响应客户端请求,多是正常数据,也多是尚未获取值的空数据。若是咱们设置slave-server-stale-date为no表示slave会"正在从matser同步(SYNC with master in prograess)"
28.slave-read-only yes 设置你的slave服务是否为只读
29.stop-write-on-bgsave-error yes 若是开启RDB而且最新的后台保存失败,将禁止用户对redis进行写的操做,提示用户保存失败了
30.daemonize no 默认在window下不支持这个配置,在linux下能够。表示默认redis不会做为守护进程运行。若是配置为yes就是守护进程,若是设置为守护进程就须要了解这个配置pidfile /var/run/redis.pid 配置守护进程的位置。
31.rdbcompression yes当导出rdb文件时是否用LZF压缩字符串对象。默认是yes,由于它几乎在任何状况下都是不错的,可是若是咱们想节省CPU的话能够设置no,可是若是你有压缩了数据文件就会更大了。
32.rdbchecksum yes 是否添加一个校验放在文件最后,多消耗10%的性能。全部咱们能够关掉它来提升性能。
33.aof-rewrite-incremental-fsnc yes 当一个子进程重写AOF文件时,若是启用,则文件每生成32M数据会被同步。为了增量式的写入硬盘而且避免大的延迟高峰这个指令是很是有用的。
34.dir 数据库工做的目录。
35.maxmemmory-policy volatile-lru 内存达到上线删除key的策略
# volatile-lru -> 根据LRU算法生成的过时时间来删除。
# allkeys-lru -> 根据LRU算法删除任何key。
# volatile-random -> 根据过时设置来随机删除key。
# allkeys->random -> 无差异随机删。
# volatile-ttl -> 根据最近过时时间来删除(辅以TTL)
# noeviction -> 谁也不删,直接在写操做时返回错误。3
36.appendfsync everysec fsync() 系统调用告诉操做系统把数据写到磁盘上,而不是等更多的数据进入输出缓冲区。
# Redis支持三种不一样的模式:
# no:不要马上刷,只有在操做系统须要刷的时候再刷。比较快。
# always:每次写操做都马上写入到aof文件。慢,可是最安全。
# everysec:每秒写一次。折中方案。
37.save 900 1 save 300 10 save 60 10000 把数据库存在磁盘上
# 会在指定秒数和数据变化次数以后把数据库写到磁盘上。
#
# 下面的例子将会进行把数据写入磁盘的操做:
# 900秒(15分钟)以后,且至少1次变动
# 300秒(5分钟)以后,且至少10次变动
# 60秒以后,且至少10000次变动
38.loglevel notice
# 指定服务器调试等级
# 可能值:
# debug (大量信息,对开发/测试有用)
# verbose (不少精简的有用信息,可是不像debug等级那么多)
# notice (适量的信息,基本上是你生产环境中须要的)
# warning (只有很重要/严重的信息会记录下来)
39.client-output-buffer-limit normal 0 0 0 client-output-buffer-limit slave 256mb 64mb 60 client-output-buffer-limit pubsub 32mb 8mb 60.
# 客户端的输出缓冲区的限制,可用于强制断开那些由于某种缘由从服务器读取数据的速度不够快的客户端,
# (一个常见的缘由是一个发布/订阅客户端消费消息的速度没法遇上生产它们的速度)
#
# 能够对三种不一样的客户端设置不一样的限制:
# normal -> 正常客户端
# slave -> slave和 MONITOR 客户端
# pubsub -> 至少订阅了一个pubsub channel或pattern的客户端
40.slaveof 127.0.0.1 6379 指定master服务的地址端口
41.bind 默认状况下全部网络都不访问,若是设置了bind就能够控制访问的网络。
下一章我将学习一下redis如何配置主从服务,同时如何使用sentinel来自动处理master宕机的状况
下面是我前面写的redis学习记录
以上是本身我的学习的记录,若是有什么不对的地方请你们指正,欢迎评论!