- 浏览: 138679 次
文章分类
最新评论
-
wangyudong:
很有帮助的代码实例,测试Spring Boot REST AP ...
1、springboot入门案例helloworld与集成hibernate -
wangyudong:
学习了,的确是一个非常好的Spring boot实例,很快就写 ...
1、springboot入门案例helloworld与集成hibernate
2.1 Redis配置文件
为了对Redis的系统实现有一个直接的认识,我们首先来看一下Redis的配置文件中定义了哪些主要参数以及这些参数的作用。
1)daemonize no 默认情况下,redis不是在后台运行的。如果需要在后台运行,把该项的值更改为yes;
2)pidfile /var/run/redis.pid当Redis在后台运行的时候,Redis默认会把pid文件放在/var/run/redis.pid,你可以配置到其他地址。当运行多个redis服务时,需要指定不同的pid文件和端口;
3)port 6379指定redis运行的端口,默认是6379;
4)bind 127.0.0.1 指定redis只接收来自于该IP地址的请求,如果不进行设置,那么将处理所有请求。在生产环境中最好设置该项;
5)loglevel debug 指定日志记录级别,其中Redis总共支持四个级别:debug、verbose、notice、warning,默认为verbose。debug表示记录很多信息,用于开发和测试。verbose表示记录有用的信息,但不像debug会记录那么多。notice表示普通的verbose,常用于生产环境。warning 表示只有非常重要或者严重的信息会记录到日志;
6)logfile /var/log/redis/redis.log 配置log文件地址,默认值为stdout。若后台模式会输出到/dev/null;
7)databases 16 可用数据库数,默认值为16,默认数据库为0,数据库范围在0-(database-1)之间;
8)save 900 1保存数据到磁盘,格式为save <seconds> <changes>,指出在多长时间内,有多少次更新操作,就将数据同步到数据文件rdb。相当于条件触发抓取快照,这个可以多个条件配合。save 900 1就表示900秒内至少有1个key被改变就保存数据到磁盘;
9)rdbcompression yes 存储至本地数据库时(持久化到rdb文件)是否压缩数据,默认为yes;
10)dbfilename dump.rdb本地持久化数据库文件名,默认值为dump.rdb;
11)dir ./ 工作目录,数据库镜像备份的文件放置的路径。这里的路径跟文件名要分开配置是因为redis在进行备份时,先会将当前数据库的状态写入到一个临时文件中,等备份完成时,再把该临时文件替换为上面所指定的文件。而这里的临时文件和上面所配置的备份文件都会放在这个指定的路径当中,AOF文件也会存放在这个目录下面。注意这里必须指定一个目录而不是文件;
12)slaveof <masterip> <masterport> 主从复制,设置该数据库为其他数据库的从数据库。设置当本机为slave服务时,设置master服务的IP地址及端口。在Redis启动时,它会自动从master进行数据同步;
13)masterauth <master-password> 当master服务设置了密码保护时(用requirepass制定的密码)slave服务连接master的密码;
14)slave-serve-stale-data yes 当从库同主机失去连接或者复制正在进行,从机库有两种运行方式:如果slave-serve-stale-data设置为yes(默认设置),从库会继续相应客户端的请求。如果slave-serve-stale-data是指为no,除去INFO和SLAVOF命令之外的任何请求都会返回一个错误"SYNC with master in progress";
15)repl-ping-slave-period 10从库会按照一个时间间隔向主库发送PING,可以通过repl-ping-slave-period设置这个时间间隔,默认是10秒;
16)repl-timeout 60 设置主库批量数据传输时间或者ping回复时间间隔,默认值是60秒,一定要确保repl-timeout大于repl-ping-slave-period;
17)requirepass foobared 设置客户端连接后进行任何其他指定前需要使用的密码。因为redis速度相当快,所以在一台比较好的服务器下,一个外部的用户可以在一秒钟进行150K次的密码尝试,这意味着你需要指定非常强大的密码来防止暴力破解;
18)rename-command CONFIG "" 命令重命名,在一个共享环境下可以重命名相对危险的命令,比如把CONFIG重名为一个不容易猜测的字符:# rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52。如果想删除一个命令,直接把它重命名为一个空字符""即可:rename-command CONFIG "";
19)maxclients 128设置同一时间最大客户端连接数,默认无限制。Redis可以同时打开的客户端连接数为Redis进程可以打开的最大文件描述符数。如果设置 maxclients 0,表示不作限制。当客户端连接数到达限制时,Redis会关闭新的连接并向客户端返回max number of clients reached错误信息;
20)maxmemory <bytes> 指定Redis最大内存限制。Redis在启动时会把数据加载到内存中,达到最大内存后,Redis会先尝试清除已到期或即将到期的Key,Redis同时也会移除空的list对象。当此方法处理后,仍然到达最大内存设置,将无法再进行写入操作,但仍然可以进行读取操作。注意:Redis新的vm机制,会把Key存放内存,Value会存放在swap区;
21)maxmemory-policy volatile-lru 当内存达到最大值的时候Redis会选择删除哪些数据呢?有五种方式可供选择:volatile-lru代表利用LRU算法移除设置过过期时间的key (LRU:最近使用 Least Recently Used ),allkeys-lru代表利用LRU算法移除任何key,volatile-random代表移除设置过过期时间的随机key,allkeys_random代表移除一个随机的key,volatile-ttl代表移除即将过期的key(minor TTL),noeviction代表不移除任何key,只是返回一个写错误。
注意:对于上面的策略,如果没有合适的key可以移除,写的时候Redis会返回一个错误;
22)appendonly no 默认情况下,redis会在后台异步的把数据库镜像备份到磁盘,但是该备份是非常耗时的,而且备份也不能很频繁。如果发生诸如拉闸限电、拔插头等状况,那么将造成比较大范围的数据丢失,所以redis提供了另外一种更加高效的数据库备份及灾难恢复方式。开启append only模式之后,redis会把所接收到的每一次写操作请求都追加到appendonly.aof文件中。当redis重新启动时,会从该文件恢复出之前的状态,但是这样会造成appendonly.aof文件过大,所以redis还支持了BGREWRITEAOF指令对appendonly.aof 进行重新整理,你可以同时开启asynchronous dumps 和 AOF;
23)appendfilename appendonly.aof AOF文件名称,默认为"appendonly.aof";
24)appendfsync everysec Redis支持三种同步AOF文件的策略: no代表不进行同步,系统去操作,always代表每次有写操作都进行同步,everysec代表对写操作进行累积,每秒同步一次,默认是"everysec",按照速度和安全折中这是最好的。
25)slowlog-log-slower-than 10000 记录超过特定执行时间的命令。执行时间不包括I/O计算,比如连接客户端,返回结果等,只是命令执行时间。可以通过两个参数设置slow log:一个是告诉Redis执行超过多少时间被记录的参数slowlog-log-slower-than(微妙),另一个是slow log 的长度。当一个新命令被记录的时候最早的命令将被从队列中移除,下面的时间以微妙微单位,因此1000000代表一分钟。注意制定一个负数将关闭慢日志,而设置为0将强制每个命令都会记录;
26)hash-max-zipmap-entries 512 && hash-max-zipmap-value 64 当hash中包含超过指定元素个数并且最大的元素没有超过临界时,hash将以一种特殊的编码方式(大大减少内存使用)来存储,这里可以设置这两个临界值。Redis Hash对应Value内部实际就是一个HashMap,实际这里会有2种不同实现。这个Hash的成员比较少时Redis为了节省内存会采用类似一维数组的方式来紧凑存储,而不会采用真正的HashMap结构,对应的value redisObject的encoding为zipmap。当成员数量增大时会自动转成真正的HashMap,此时encoding为ht;
27)list-max-ziplist-entries 512 list数据类型多少节点以下会采用去指针的紧凑存储格式;
28)list-max-ziplist-value 64数据类型节点值大小小于多少字节会采用紧凑存储格式;
29)set-max-intset-entries 512 set数据类型内部数据如果全部是数值型,且包含多少节点以下会采用紧凑格式存储;
30)zset-max-ziplist-entries 128 zsort数据类型多少节点以下会采用去指针的紧凑存储格式;
31)zset-max-ziplist-value 64 zsort数据类型节点值大小小于多少字节会采用紧凑存储格式。
32)activerehashing yes Redis将在每100毫秒时使用1毫秒的CPU时间来对redis的hash表进行重新hash,可以降低内存的使用。当你的使用场景中,有非常严格的实时性需要,不能够接受Redis时不时的对请求有2毫秒的延迟的话,把这项配置为no。如果没有这么严格的实时性要求,可以设置为yes,以便能够尽可能快的释放内存;
为了对Redis的系统实现有一个直接的认识,我们首先来看一下Redis的配置文件中定义了哪些主要参数以及这些参数的作用。
1)daemonize no 默认情况下,redis不是在后台运行的。如果需要在后台运行,把该项的值更改为yes;
2)pidfile /var/run/redis.pid当Redis在后台运行的时候,Redis默认会把pid文件放在/var/run/redis.pid,你可以配置到其他地址。当运行多个redis服务时,需要指定不同的pid文件和端口;
3)port 6379指定redis运行的端口,默认是6379;
4)bind 127.0.0.1 指定redis只接收来自于该IP地址的请求,如果不进行设置,那么将处理所有请求。在生产环境中最好设置该项;
5)loglevel debug 指定日志记录级别,其中Redis总共支持四个级别:debug、verbose、notice、warning,默认为verbose。debug表示记录很多信息,用于开发和测试。verbose表示记录有用的信息,但不像debug会记录那么多。notice表示普通的verbose,常用于生产环境。warning 表示只有非常重要或者严重的信息会记录到日志;
6)logfile /var/log/redis/redis.log 配置log文件地址,默认值为stdout。若后台模式会输出到/dev/null;
7)databases 16 可用数据库数,默认值为16,默认数据库为0,数据库范围在0-(database-1)之间;
8)save 900 1保存数据到磁盘,格式为save <seconds> <changes>,指出在多长时间内,有多少次更新操作,就将数据同步到数据文件rdb。相当于条件触发抓取快照,这个可以多个条件配合。save 900 1就表示900秒内至少有1个key被改变就保存数据到磁盘;
9)rdbcompression yes 存储至本地数据库时(持久化到rdb文件)是否压缩数据,默认为yes;
10)dbfilename dump.rdb本地持久化数据库文件名,默认值为dump.rdb;
11)dir ./ 工作目录,数据库镜像备份的文件放置的路径。这里的路径跟文件名要分开配置是因为redis在进行备份时,先会将当前数据库的状态写入到一个临时文件中,等备份完成时,再把该临时文件替换为上面所指定的文件。而这里的临时文件和上面所配置的备份文件都会放在这个指定的路径当中,AOF文件也会存放在这个目录下面。注意这里必须指定一个目录而不是文件;
12)slaveof <masterip> <masterport> 主从复制,设置该数据库为其他数据库的从数据库。设置当本机为slave服务时,设置master服务的IP地址及端口。在Redis启动时,它会自动从master进行数据同步;
13)masterauth <master-password> 当master服务设置了密码保护时(用requirepass制定的密码)slave服务连接master的密码;
14)slave-serve-stale-data yes 当从库同主机失去连接或者复制正在进行,从机库有两种运行方式:如果slave-serve-stale-data设置为yes(默认设置),从库会继续相应客户端的请求。如果slave-serve-stale-data是指为no,除去INFO和SLAVOF命令之外的任何请求都会返回一个错误"SYNC with master in progress";
15)repl-ping-slave-period 10从库会按照一个时间间隔向主库发送PING,可以通过repl-ping-slave-period设置这个时间间隔,默认是10秒;
16)repl-timeout 60 设置主库批量数据传输时间或者ping回复时间间隔,默认值是60秒,一定要确保repl-timeout大于repl-ping-slave-period;
17)requirepass foobared 设置客户端连接后进行任何其他指定前需要使用的密码。因为redis速度相当快,所以在一台比较好的服务器下,一个外部的用户可以在一秒钟进行150K次的密码尝试,这意味着你需要指定非常强大的密码来防止暴力破解;
18)rename-command CONFIG "" 命令重命名,在一个共享环境下可以重命名相对危险的命令,比如把CONFIG重名为一个不容易猜测的字符:# rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52。如果想删除一个命令,直接把它重命名为一个空字符""即可:rename-command CONFIG "";
19)maxclients 128设置同一时间最大客户端连接数,默认无限制。Redis可以同时打开的客户端连接数为Redis进程可以打开的最大文件描述符数。如果设置 maxclients 0,表示不作限制。当客户端连接数到达限制时,Redis会关闭新的连接并向客户端返回max number of clients reached错误信息;
20)maxmemory <bytes> 指定Redis最大内存限制。Redis在启动时会把数据加载到内存中,达到最大内存后,Redis会先尝试清除已到期或即将到期的Key,Redis同时也会移除空的list对象。当此方法处理后,仍然到达最大内存设置,将无法再进行写入操作,但仍然可以进行读取操作。注意:Redis新的vm机制,会把Key存放内存,Value会存放在swap区;
21)maxmemory-policy volatile-lru 当内存达到最大值的时候Redis会选择删除哪些数据呢?有五种方式可供选择:volatile-lru代表利用LRU算法移除设置过过期时间的key (LRU:最近使用 Least Recently Used ),allkeys-lru代表利用LRU算法移除任何key,volatile-random代表移除设置过过期时间的随机key,allkeys_random代表移除一个随机的key,volatile-ttl代表移除即将过期的key(minor TTL),noeviction代表不移除任何key,只是返回一个写错误。
注意:对于上面的策略,如果没有合适的key可以移除,写的时候Redis会返回一个错误;
22)appendonly no 默认情况下,redis会在后台异步的把数据库镜像备份到磁盘,但是该备份是非常耗时的,而且备份也不能很频繁。如果发生诸如拉闸限电、拔插头等状况,那么将造成比较大范围的数据丢失,所以redis提供了另外一种更加高效的数据库备份及灾难恢复方式。开启append only模式之后,redis会把所接收到的每一次写操作请求都追加到appendonly.aof文件中。当redis重新启动时,会从该文件恢复出之前的状态,但是这样会造成appendonly.aof文件过大,所以redis还支持了BGREWRITEAOF指令对appendonly.aof 进行重新整理,你可以同时开启asynchronous dumps 和 AOF;
23)appendfilename appendonly.aof AOF文件名称,默认为"appendonly.aof";
24)appendfsync everysec Redis支持三种同步AOF文件的策略: no代表不进行同步,系统去操作,always代表每次有写操作都进行同步,everysec代表对写操作进行累积,每秒同步一次,默认是"everysec",按照速度和安全折中这是最好的。
25)slowlog-log-slower-than 10000 记录超过特定执行时间的命令。执行时间不包括I/O计算,比如连接客户端,返回结果等,只是命令执行时间。可以通过两个参数设置slow log:一个是告诉Redis执行超过多少时间被记录的参数slowlog-log-slower-than(微妙),另一个是slow log 的长度。当一个新命令被记录的时候最早的命令将被从队列中移除,下面的时间以微妙微单位,因此1000000代表一分钟。注意制定一个负数将关闭慢日志,而设置为0将强制每个命令都会记录;
26)hash-max-zipmap-entries 512 && hash-max-zipmap-value 64 当hash中包含超过指定元素个数并且最大的元素没有超过临界时,hash将以一种特殊的编码方式(大大减少内存使用)来存储,这里可以设置这两个临界值。Redis Hash对应Value内部实际就是一个HashMap,实际这里会有2种不同实现。这个Hash的成员比较少时Redis为了节省内存会采用类似一维数组的方式来紧凑存储,而不会采用真正的HashMap结构,对应的value redisObject的encoding为zipmap。当成员数量增大时会自动转成真正的HashMap,此时encoding为ht;
27)list-max-ziplist-entries 512 list数据类型多少节点以下会采用去指针的紧凑存储格式;
28)list-max-ziplist-value 64数据类型节点值大小小于多少字节会采用紧凑存储格式;
29)set-max-intset-entries 512 set数据类型内部数据如果全部是数值型,且包含多少节点以下会采用紧凑格式存储;
30)zset-max-ziplist-entries 128 zsort数据类型多少节点以下会采用去指针的紧凑存储格式;
31)zset-max-ziplist-value 64 zsort数据类型节点值大小小于多少字节会采用紧凑存储格式。
32)activerehashing yes Redis将在每100毫秒时使用1毫秒的CPU时间来对redis的hash表进行重新hash,可以降低内存的使用。当你的使用场景中,有非常严格的实时性需要,不能够接受Redis时不时的对请求有2毫秒的延迟的话,把这项配置为no。如果没有这么严格的实时性要求,可以设置为yes,以便能够尽可能快的释放内存;
发表评论
-
tomcat学习一(简单web服务器示例)
2016-09-20 17:14 487Request.java package com.chen ... -
8、在docker上部署简单javaweb应用
2016-04-24 19:12 8971、创建容器javaweb1,并添加数据卷便于将安装文件共享到 ... -
7、Docker容器的数据管理
2016-04-24 17:56 1159一、Docker容器的数据卷 ... -
6、Docker容器的网络连接
2016-04-24 17:54 1718一、Docker容器的网络基础 dock ... -
4、Docker镜像
2016-04-22 09:05 845一、什么是Docker镜像 ... -
5、Docker客户端和守护进程
2016-04-22 09:04 1019一、Docker的C/S模式 ... -
3、Docker容器常用命令与在容器中部署静态网站
2016-04-22 09:04 900一、容器的基本操作 ... -
2、Docker简介及docker组成部分
2016-04-22 09:03 17881、Docker提供了一个容器 ... -
1、Ubuntu14.04安装docker
2016-04-22 09:02 706一、安装前检查 1、内核版本 uname - ... -
6、java连接redis集群
2016-04-18 18:26 26451、使用Jedis 连接集群会报 MOVED错误 packag ... -
redis集群搭建
2016-04-18 16:15 593redis-cli -h 127.0.0.1 -p 6749 ... -
ubuntu14.04卸载redis并手动安装redis-3.0
2016-04-18 16:14 11561、ubuntu 卸载redis 1)卸载软件 ... -
redis五种数据类型常用基本命令总结
2016-04-14 19:00 759redis-cli 启动redis客户端,连接到redis服务 ... -
java连接远程服务器redis常遇问题
2016-04-14 18:58 32551、先在本地CMD命令中ping IP地址,网络是否正常 2、 ... -
redis虚拟机环境搭建与安装redis
2016-04-12 09:14 1785下载VMware 下载ubuntu14.iso 在VMware ... -
dubbo入门案例
2016-04-07 19:47 1221windows安装zookeeper 把下载的zookeepe ... -
webservice cxf简单案例
2016-03-30 18:44 700cxf简单java项目案例 IHelloWorld.java ... -
spring mvc教程视频
2016-01-18 17:29 8141. 韩顺平 Spring视频教程 http://www.yu ... -
Redis与Memcached比较
2016-01-13 11:01 820作为内存数据缓冲 ... -
Redis原理与简述
2016-01-13 10:46 12679Redis是一个开源的key-value存储系统。 ...
相关推荐
### Redis配置文件参数详解 #### 一、概述 Redis 是一款高性能的键值对存储系统,广泛应用于缓存、消息队列以及实时数据分析等领域。为了更好地利用 Redis 的强大功能,理解其配置文件中的各项参数至关重要。本文...
下面将详细解释提供的配置文件参数: 1. **daemonize**: Redis 默认不在后台运行,要启用守护进程模式,需设置为 `yes`。 2. **pidfile**: 当 Redis 以守护进程模式运行时,它会把进程ID(PID)写入指定的文件,如 `...
在这个场景中,我们有一个针对 Redis 3.2 版本的自定义配置文件 `redis.conf`,该文件是为在 Docker 环境下调试 Redis 实例而设计的。下面将详细解释配置文件中的关键设置和它们在 Docker 容器中的作用。 1. **端口...
以下是一些Redis配置文件中的关键参数和相关知识点: 1. **端口号 (port)**:Redis默认监听6379端口,如果与其他服务冲突,需要更改此端口。 2. **数据库数量 (dbfilename & databases)**:`dbfilename`定义了数据...
以下是对Redis配置文件的一些核心参数及其中文解释,这些内容是基于Redis 2.8.21版本的配置文件进行的解读。 1. **daemonize**: 这个选项决定Redis是否以守护进程(后台运行)的方式启动。设置为`yes`表示后台运行...
本篇详解将介绍Redis配置文件中的主要参数设置及其含义,帮助用户更好地理解和调整Redis的运行环境。 daemonize:此参数控制Redis是否在后台运行。默认情况下Redis不是在后台运行的,如果需要在后台运行,可以将...
本文将深入解读Redis配置文件中的关键参数及其作用,帮助读者更好地理解和优化Redis配置。 #### 1. 守护进程模式 (daemonize) - **默认状态**:Redis默认不以守护进程模式运行,即在前台运行。 - **配置说明**:...
配置文件中可以设置 Redis 的各种参数,例如: * daemonize yes/no:是否以守护进程方式运行 * port 6379:设置 Redis 的监听端口 * bind 127.0.0.1:设置 Redis 的绑定 IP 地址 * dir ./data:设置 Redis 的数据...
而配置文件`redis.master.conf`和`redis.slave.conf`分别代表主节点和从节点的配置,它们是构建Redis集群的关键组成部分。 1. **创建Redis主节点** 主节点负责处理所有写操作,并将新数据广播给从节点。`redis....
1. **redis.conf**:这是Redis服务器的基础配置文件,包含了服务器的基本设置,如端口号、数据库数量、内存限制等。在哨兵模式下,每个Redis实例都需要一个这样的配置文件,无论是主节点、从节点还是哨兵节点。 2. ...
1. **redis.conf**:这是Redis服务器的基础配置文件,用于设置服务器的基本参数,如端口、数据库数量等。在集群模式下,需要额外添加一些集群相关的配置项。 2. **cluster-enabled yes**:开启集群模式。这是让Redis...
【Redis配置说明文件】 Redis是一个高性能的...以上是Redis配置文件的关键参数,正确配置这些参数能确保Redis服务的稳定性和性能。在实际应用中,应根据服务器硬件资源、业务需求以及安全性要求对这些配置进行调整。
Redis是一款高性能的键值对数据存储系统,常用于缓存和数据库服务。其配置文件`redis.conf`是管理Redis...以上参数是Redis配置文件中的一些核心设置,理解并适当调整这些参数有助于优化Redis服务器的性能和安全性。
### Redis配置文件详解 Redis是一种开源的键值存储系统,具备高性能的特点,通常被当作内存存储系统或内存数据库使用。由于其支持多种复杂的数据结构,也被视为一种数据结构服务器。Redis配置文件`redis.conf`控制...
Redis 配置文件是 Redis 服务器的核心配置文件,用于设置 Redis 服务器的各种参数,影响着 Redis 服务器的性能、安全性和可靠性。下面是对 Redis 配置文件的详细解释: 1. daemonize:指定 Redis 是否以守护进程...
Redis 配置文件(redis.windows.conf)是 Redis 的核心配置文件,用于设置 Redis 服务器的各种参数。下面是配置文件的一些重要设置: * requirepass:设置 Redis 服务器的密码 * port:设置 Redis 服务器的端口号 *...
配置文件是控制 Redis 行为的关键,以下将详细解析 Redis 配置文档中提到的一些重要选项。 1. **守护进程运行 (daemonize)**: `daemonize yes` 意味着 Redis 将在后台作为守护进程运行,不占用终端窗口。 2. **PID...
本资源包含了一个Linux版的Redis安装包和相关的配置文件,旨在帮助用户快速搭建和管理Redis服务器。 首先,让我们详细了解一下Redis的基本概念和特性。Redis是一个基于内存的数据结构存储系统,它支持多种数据类型...
Redis配置文件通常为`redis.conf`,它是Redis服务器启动时读取的主要配置文件。配置文件中的选项覆盖了Redis的各个方面,包括服务器端口、数据持久化、内存管理、安全控制、日志记录以及客户端限制等。下面将逐一...