Redis入门很简单之三【常见参数配置】

博客分类:

Redis的一下常见设置都是通过对redis.conf文件进行修改来完成的。
 本文主要介绍了设置访问密码、主从配置、设置数据和日志目录、以及参数调优等方面。
 
 一. 权限设置:
  1. 修改redis.conf文件:

  1. requirepass nick123

2. 客户端登录,需要先进行授权操作,提供密码即可。

  1. auth nick123

二. 主从配置:
        通过设置Redis的配置文件redis.conf可以进行主从(Master-Slave)设置,可以设置一个Redis节点为Master,同时设置一个或多个Slave节点。
  1. 在从节点配置redis.conf即可:设置为主节点的IP和端口

  1. slaveof 192.168.142.12 6379

2. 如果Master节点设置了密码,Slave节点需要同时设置:

  1. masterauth nickxu

3. 说明:
   @ 通过主从设置,可以进行读写分离:通常使用Master节点负责写数据,Slave节点负责读数据、注意Slave节点不能进行写操作。
   @ 数据备份:在Slave节点执行如下命令,然后拷贝dump.rdb即可

  1. bgsave #该命令在后台执行,进行持久化操作,不会影响客户端的链接
  2. save  #如果上述bgsave执行失败,可以使用save进行操作,但是会影响客户端的链接

三. 日志/数据目录:
  1. 创建如下所示的目录:

  1. mkdir -p /opt/redis/logs
  2. mkdir -p /opt/redis/data

2. 对日志进行设置:

  1. loglevel debug                      #日志级别:默认为notice
  2. logfile /opt/redis/logs/redis.log  #日志输出:默认为stdout

3. 设置数据目录:

  1. dbfilename redis.rdb        #默认为dump.rdb
  2. dir /opt/redis/data         #默认为./

四. 设置最大内存:     

  1. maxmemory 256mb

[说明] 
    @ 设置Redis能够占用的最大内存,防止影响性能甚至造成系统崩溃。
    @ 一定要小于物理内存(512MB),留有充足的内存供系统及其他应用程序使用。

五. 备份策略:
   1. 使用快照:snapshot

  1. save 60 1000

[说明] 
    @ 如上的设置,会在60s内、如果有1000个key发生改变就进行持久化。
    @ 可设置多个save选项,默认持久化到dump.rdb。
  2. 文件追加(aof):append-only-file模式。
   @ Redis会将每个接收到的“写命令”通过write函数追加到appendonly.aof文件,重启Redis时通过该文件重建整个数据库。
   @ 由于os内核会缓存write函数所做的“修改”,可以使用fsync函数指定写入到磁盘的方式。

  1. appendonly yes          #启动aof持久化方式
  2. appendfsync always      #对每条“写命令”立即写至磁盘
  3. appendfsync everysec    #默认:每秒写入一次,在性能和可靠性之间的平衡
  4. appendfsync no          #依赖于os,不指定写入时机

3. 两种方式的比较:
    @ 快照方式:性能较好,但是快照间隔期间,如果宕机将造成数据丢失。
    @ AOF模式:影响性能,不容易造成数据丢失。
    @ 如果Redis宕机:重启Redis即可,会自动使用redis.rdb、appendonly.aof恢复数据库。
   4. 主从备份:从数据安全性角度考虑。
    @ 关闭快照功能。
    @ 同时设置主从服务器都为AOF模式。
    @ 说明:如果仅对Slave进行持久化设置,重启时,Slave自动和Master进行同步,全部数据丢失

Redis入门很简单之三【常见参数配置】的更多相关文章

  1. Redis入门很简单之二【常见操作命令】

    Redis入门很简单之二[常见操作命令] 博客分类: NoSQL/Redis/MongoDB redisnosql缓存  Redis提供了丰富的命令,允许我们连接客户端对其进行直接操作.这里简单介绍一 ...

  2. Redis入门很简单之六【Jedis常见操作】

    Redis入门很简单之六[Jedis常见操作] http://www.tuicool.com/articles/vaqABb http://www.cnblogs.com/stephen-liu74/ ...

  3. Redis入门很简单之五【Jedis和Spring的整合】

    Redis入门很简单之五[Jedis和Spring的整合] 博客分类: NoSQL/Redis/MongoDB redisnosql缓存jedisspring  在上一篇文章中,简单介绍了Jedis的 ...

  4. Redis入门很简单之七【使用Jedis实现客户端Sharding】

    Redis入门很简单之七[使用Jedis实现客户端Sharding] 博客分类: NoSQL/Redis/MongoDB redisjedisspringsharding分片 <一>. 背 ...

  5. Redis入门很简单之一【简介与环境搭建】

    Redis入门很简单之一[简介与环境搭建] 博客分类: NoSQL/Redis/MongoDB redisnosqlmemcached缓存中间件  [Redis简介] <一>. NoSQL ...

  6. Redis入门很简单之四【初识Jedis】

    Redis入门很简单之四[初识Jedis] 博客分类: NoSQL/Redis/MongoDB redisnosql缓存jedis  使用Jedis提供的Java API对Redis进行操作,是Red ...

  7. 踢爆IT劣书出版黑幕——由清华大学出版社之《C语言入门很简单》想到的(1)

    1.前言与作者 首先声明,我是由于非常偶然的机会获得<C语言入门很简单>这本书的,绝对不是买的.买这种书实在丢不起那人. 去年这书刚出版时,在CU论坛举行试读推广,我当时随口说了几句(没说 ...

  8. [电子书] 《Android编程入门很简单》

    <Android编程入门很简单>是一本与众不同的Android学习读物,是一本化繁为简,把抽象问题具体化,把复杂问题简单化的书.本书避免出现云山雾罩.晦涩难懂的讲解,代之以轻松活泼.由浅入 ...

  9. 《Mysql 入门很简单》(读后感①)

    下载完整版<Mysql 入门很简单>,点击这里~: http://files.cnblogs.com/files/zhengyeye/MySQL%E5%85%A5%E9%97%A8%E5% ...

随机推荐

  1. mysql创建,添加主键

    primary key 1.最简单的: CREATE TABLE t1( id int not null, name char(20)); 2.带主键的: a:CREATE TABLE t1( id ...

  2. php中class类文件引入方法汇总

    在项目中  总是会用到类文件引入的操作,在此简单总结下: 方法一: 使用  include,require,include_once,require_once. 其中:*_once  once意为曾经 ...

  3. MDX members使用

    Members (Set) 函数返回该指定层次结构内所有成员(不包括计算成员)的集: Members (String) 函数返回已指定名称的单个成员. 通常,将 Members (String) 函数 ...

  4. 记录之前工作用到费劲sql

    表为单独表,树结构 layer共有4层, 此sql为通过id list 查询出 layer = 2 的 id 个数 id , parent_id, layer SELECT COUNT(DISTINC ...

  5. PHP递归获得树形菜单和遍历文件夹下的所有文件以及子文件夹

    PHP递归获得树形菜单和遍历文件夹下的所有文件以及子文件夹 一.使用递归获取树形菜单 数据表category(id,name,parent_id) <?php class category{ / ...

  6. python3中装饰器的用法总结

    装饰器预备知识点 1 函数赋值给一个变量 函数名可以像普通变量一样赋值给另一个变量. def test(): print("i am just a test function") ...

  7. 刚安装的程序要卸载,如何Ubuntu查看程序安装记录

    如果新装一个程序,突然发现需要卸载,又忘记了程序名字,怎么解决呢? /var/log/apt/history.log /var/log/apt/term.log /var/log/aptitude 看 ...

  8. exsi 回收虚拟机磁盘

    用客户端登陆服务端,用下面命令停止虚拟机机器 esxcli vm process list    用如下命令关闭一台虚拟机: esxcli vm process kill --type=[soft,h ...

  9. 一个spark streaming的黑名单过滤小例子

    > nc -lk 9999 20190912,sz 20190913,lin package com.lin.spark.streaming import org.apache.spark.Sp ...

  10. js 模拟window.open 打开新窗口

    为什么要去模拟window.open() 打开一个 新的窗口呢,因为有些浏览器默认会拦截 window.open, 当需要函数中打开新窗口时,接可以使用a标签去模拟打开. /** * a模拟windo ...