Redis入门很简单之三【常见参数配置】
Redis的一下常见设置都是通过对redis.conf文件进行修改来完成的。
本文主要介绍了设置访问密码、主从配置、设置数据和日志目录、以及参数调优等方面。
一. 权限设置:
1. 修改redis.conf文件:
- requirepass nick123
2. 客户端登录,需要先进行授权操作,提供密码即可。
- auth nick123
二. 主从配置:
通过设置Redis的配置文件redis.conf可以进行主从(Master-Slave)设置,可以设置一个Redis节点为Master,同时设置一个或多个Slave节点。
1. 在从节点配置redis.conf即可:设置为主节点的IP和端口
- slaveof 192.168.142.12 6379
2. 如果Master节点设置了密码,Slave节点需要同时设置:
- masterauth nickxu
3. 说明:
@ 通过主从设置,可以进行读写分离:通常使用Master节点负责写数据,Slave节点负责读数据、注意Slave节点不能进行写操作。
@ 数据备份:在Slave节点执行如下命令,然后拷贝dump.rdb即可
- bgsave #该命令在后台执行,进行持久化操作,不会影响客户端的链接
- save #如果上述bgsave执行失败,可以使用save进行操作,但是会影响客户端的链接
三. 日志/数据目录:
1. 创建如下所示的目录:
- mkdir -p /opt/redis/logs
- mkdir -p /opt/redis/data
2. 对日志进行设置:
- loglevel debug #日志级别:默认为notice
- logfile /opt/redis/logs/redis.log #日志输出:默认为stdout
3. 设置数据目录:
- dbfilename redis.rdb #默认为dump.rdb
- dir /opt/redis/data #默认为./
四. 设置最大内存:
- maxmemory 256mb
[说明]
@ 设置Redis能够占用的最大内存,防止影响性能甚至造成系统崩溃。
@ 一定要小于物理内存(512MB),留有充足的内存供系统及其他应用程序使用。
五. 备份策略:
1. 使用快照:snapshot
- save 60 1000
[说明]
@ 如上的设置,会在60s内、如果有1000个key发生改变就进行持久化。
@ 可设置多个save选项,默认持久化到dump.rdb。
2. 文件追加(aof):append-only-file模式。
@ Redis会将每个接收到的“写命令”通过write函数追加到appendonly.aof文件,重启Redis时通过该文件重建整个数据库。
@ 由于os内核会缓存write函数所做的“修改”,可以使用fsync函数指定写入到磁盘的方式。
- appendonly yes #启动aof持久化方式
- appendfsync always #对每条“写命令”立即写至磁盘
- appendfsync everysec #默认:每秒写入一次,在性能和可靠性之间的平衡
- appendfsync no #依赖于os,不指定写入时机
3. 两种方式的比较:
@ 快照方式:性能较好,但是快照间隔期间,如果宕机将造成数据丢失。
@ AOF模式:影响性能,不容易造成数据丢失。
@ 如果Redis宕机:重启Redis即可,会自动使用redis.rdb、appendonly.aof恢复数据库。
4. 主从备份:从数据安全性角度考虑。
@ 关闭快照功能。
@ 同时设置主从服务器都为AOF模式。
@ 说明:如果仅对Slave进行持久化设置,重启时,Slave自动和Master进行同步,全部数据丢失。
Redis入门很简单之三【常见参数配置】的更多相关文章
- Redis入门很简单之二【常见操作命令】
Redis入门很简单之二[常见操作命令] 博客分类: NoSQL/Redis/MongoDB redisnosql缓存 Redis提供了丰富的命令,允许我们连接客户端对其进行直接操作.这里简单介绍一 ...
- Redis入门很简单之六【Jedis常见操作】
Redis入门很简单之六[Jedis常见操作] http://www.tuicool.com/articles/vaqABb http://www.cnblogs.com/stephen-liu74/ ...
- Redis入门很简单之五【Jedis和Spring的整合】
Redis入门很简单之五[Jedis和Spring的整合] 博客分类: NoSQL/Redis/MongoDB redisnosql缓存jedisspring 在上一篇文章中,简单介绍了Jedis的 ...
- Redis入门很简单之七【使用Jedis实现客户端Sharding】
Redis入门很简单之七[使用Jedis实现客户端Sharding] 博客分类: NoSQL/Redis/MongoDB redisjedisspringsharding分片 <一>. 背 ...
- Redis入门很简单之一【简介与环境搭建】
Redis入门很简单之一[简介与环境搭建] 博客分类: NoSQL/Redis/MongoDB redisnosqlmemcached缓存中间件 [Redis简介] <一>. NoSQL ...
- Redis入门很简单之四【初识Jedis】
Redis入门很简单之四[初识Jedis] 博客分类: NoSQL/Redis/MongoDB redisnosql缓存jedis 使用Jedis提供的Java API对Redis进行操作,是Red ...
- 踢爆IT劣书出版黑幕——由清华大学出版社之《C语言入门很简单》想到的(1)
1.前言与作者 首先声明,我是由于非常偶然的机会获得<C语言入门很简单>这本书的,绝对不是买的.买这种书实在丢不起那人. 去年这书刚出版时,在CU论坛举行试读推广,我当时随口说了几句(没说 ...
- [电子书] 《Android编程入门很简单》
<Android编程入门很简单>是一本与众不同的Android学习读物,是一本化繁为简,把抽象问题具体化,把复杂问题简单化的书.本书避免出现云山雾罩.晦涩难懂的讲解,代之以轻松活泼.由浅入 ...
- 《Mysql 入门很简单》(读后感①)
下载完整版<Mysql 入门很简单>,点击这里~: http://files.cnblogs.com/files/zhengyeye/MySQL%E5%85%A5%E9%97%A8%E5% ...
随机推荐
- mysql创建,添加主键
primary key 1.最简单的: CREATE TABLE t1( id int not null, name char(20)); 2.带主键的: a:CREATE TABLE t1( id ...
- php中class类文件引入方法汇总
在项目中 总是会用到类文件引入的操作,在此简单总结下: 方法一: 使用 include,require,include_once,require_once. 其中:*_once once意为曾经 ...
- MDX members使用
Members (Set) 函数返回该指定层次结构内所有成员(不包括计算成员)的集: Members (String) 函数返回已指定名称的单个成员. 通常,将 Members (String) 函数 ...
- 记录之前工作用到费劲sql
表为单独表,树结构 layer共有4层, 此sql为通过id list 查询出 layer = 2 的 id 个数 id , parent_id, layer SELECT COUNT(DISTINC ...
- PHP递归获得树形菜单和遍历文件夹下的所有文件以及子文件夹
PHP递归获得树形菜单和遍历文件夹下的所有文件以及子文件夹 一.使用递归获取树形菜单 数据表category(id,name,parent_id) <?php class category{ / ...
- python3中装饰器的用法总结
装饰器预备知识点 1 函数赋值给一个变量 函数名可以像普通变量一样赋值给另一个变量. def test(): print("i am just a test function") ...
- 刚安装的程序要卸载,如何Ubuntu查看程序安装记录
如果新装一个程序,突然发现需要卸载,又忘记了程序名字,怎么解决呢? /var/log/apt/history.log /var/log/apt/term.log /var/log/aptitude 看 ...
- exsi 回收虚拟机磁盘
用客户端登陆服务端,用下面命令停止虚拟机机器 esxcli vm process list 用如下命令关闭一台虚拟机: esxcli vm process kill --type=[soft,h ...
- 一个spark streaming的黑名单过滤小例子
> nc -lk 9999 20190912,sz 20190913,lin package com.lin.spark.streaming import org.apache.spark.Sp ...
- js 模拟window.open 打开新窗口
为什么要去模拟window.open() 打开一个 新的窗口呢,因为有些浏览器默认会拦截 window.open, 当需要函数中打开新窗口时,接可以使用a标签去模拟打开. /** * a模拟windo ...