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


默认情况下有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学习记录
以上是自己个人学习的记录,如果有什么不对的地方请大家指正,欢迎评论!
- 分布式缓存技术redis学习系列(三)——redis高级应用(主从、事务与锁、持久化)
上文<详细讲解redis数据结构(内存模型)以及常用命令>介绍了redis的数据类型以及常用命令,本文我们来学习下redis的一些高级特性. 安全性设置 设置客户端操作秘密 redis安装 ...
- Redis学习笔记(三)Redis支持的5种数据类型的总结
继续Redis学习笔记(二)来说说剩余的三种数据类型. 三.列表类型(List) 1.介绍 列表类型可以存储一个有序的字符串列表,常用的操作是向列表两端添加元素,或者获得列表的一段片段.列表类型内部是 ...
- Redis学习笔记(三)redis 的键管理
Redis 的键管理 一.Redis 数据库管理 Redis 是一个键值对(key-value pair)的数据库服务器,其数据保存在 src/server.h/redisDb 中(网上很多帖子说在 ...
- Redis——学习之路四(初识主从配置)
首先我们配置一台master服务器,两台slave服务器.master服务器配置就是默认配置 端口为6379,添加就一个密码CeshiPassword,然后启动master服务器. 两台slave服务 ...
- Redis——学习之路二(初识redis服务器命令)
上一章我们已经知道了如果启动redis服务器,现在我们来学习一下,以及如何用客户端连接服务器.接下来我们来学习一下查看操作服务器的命令. 服务器命令: 1.info——当前redis服务器信息 s ...
- Redis学习之路(000)- 目录
本文是博主学习整理网上大神的文件以及自学的心得. Redis学习之路(000)- 目录 Redis学习之路(001)- Redis介绍以及安装(Linux) Redis学习之路(002)- Ubunt ...
- Redis学习笔记(2)——Redis的下载安装部署
一.下载Redis Redis的官网下载页上有各种各样的版本,如图 但是官网下载的Redis项目不正式支持Windows.如果需要再windows系统上部署,要去GitHub上下载.我下载的是Redi ...
- Redis学习笔记(1)——Redis简介
一.Redis是什么? Remote Dictionary Server(Redis) 是一个开源的使用ANSI C语言编写.遵守BSD协议.支持网络.可基于内存亦可持久化的日志型.Key-Value ...
- [转]Redis之(一)初识Redis
原文地址:http://blog.csdn.net/u012152619/article/details/52550315 Redis之(一)初识Redis 标签: Redisredis-server ...
随机推荐
- [转]MySQL日志——Undo | Redo
本文是介绍MySQL数据库InnoDB存储引擎重做日志漫游 00 – Undo LogUndo Log 是为了实现事务的原子性,在MySQL数据库InnoDB存储引擎中,还用Undo Log来实现多版 ...
- KVM 虚拟机联网方式:NAT 和 Bridge
KVM 客户机网络连接有两种方式: 用户网络(User Networking):让虚拟机访问主机.互联网或本地网络上的资源的简单方法,但是不能从网络或其他的客户机访问客户机,性能上也需要大的调整.NA ...
- 常用js代码集
<img src="{:url('publics/verify')}" onclick="this.src='{:url('publics/verify')}'&q ...
- find命令
http://www.jb51.net/os/RedHat/1307.html find 目录(.代表当前目录) -type d -name "..." f -name &q ...
- Menu与ActionBar的爱恨情仇
最近在开发一款音乐播放器,在开发过程中遇到了一点小麻烦,通过android API搞清楚了Menu与ActionBar的爱恨情仇,写了个小Demo祭奠一下那些年我们陷进去的坑,有不对的地方请大神们批评 ...
- sort()基础知识总结+超简短的英文名排序写法
结合前些天学的箭头函数我想到一种非常简短的sort排序写法:(这可能是最短的英文名排序方法了) 贴出来大家一起探讨一下: [4,1,2,32].sort((x,y)=>x>y); //[1 ...
- 懒加载插件- jquery.lazyload.js
Lazy Load 是一个用 JavaScript 编写的 jQuery 插件. 它可以延迟加载长页面中的图片. 在浏览器可视区域外的图片不会被载入, 直到用户将页面滚动到它们所在的位置. 这与图片预 ...
- js_原型
原型是JavaScript中一个比较难理解的概念,原型相关的属性也比较多,对象有"prototype"属性,函数对象有"prototype"属性,原型对象有&q ...
- Bootstrap.css 中请求googleapis.com/css?family 备忘录
问题描述: Web中引入bootstrap.css中头部有访问Google服务器的请求 @import url("//fonts.googleapis.com/css?family=Open ...
- 网页端打开手机上的app
iOS/Android 浏览器(h5)及微信中唤起本地APP 在移动互联网,链接是比较重要的传播媒质,但很多时候我们又希望用户能够回到APP中,这就要求APP可以通过浏览器或在微信中被方便地唤起. 这 ...