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. 防止NSTimer和调用对象之间的循环引用

    防止NSTimer和调用对象之间的循环引用 @interface NSTimer (EOCBlocksSupport) + (NSTimer *)eoc_scheduledTimerWithTimeI ...

  2. MySQL的limit分页性能测试加优化

    日常我们分页时会用到MySQL的limit字段去处理,那么使用limit时,有什么需要优化的地方吗?我们来做一个试验来看看limit的效率问题:环境:CentOS 6 & MySQL 5.71 ...

  3. 【C#学习笔记】 IDisposable 接口

    在.net 编程环境中,系统的资源分为托管资源和非托管资源. 对于托管的资源的回收工作,是不需要人工干预回收的,而且你也无法干预他们的回收,所能够做的只是了解.net CLR如何做这些操作.也就是说对 ...

  4. 实验报告(六)&第八周学习总结

    班级 计科二班 学号 20188425 姓名 IM 完成时间2019/10/18 评分等级 实验六 Java异常 实验目的 理解异常的基本概念: 掌握异常处理方法及熟悉常见异常的捕获方法. 实验要求 ...

  5. Apache Shiro 集成Spring(二)

    1.依赖: <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-cor ...

  6. vue-router(路由)详细教程

    vue-router(路由)详细教程:https://blog.csdn.net/wulala_hei/article/details/80488727 vue路由组件传参-页面通信:https:// ...

  7. 44-python基础-python3-字符串-常用字符串方法(二)-isalpha()-isalnum()-isdigit()-isspace()-istitle()

    3-isX 字符串方法   序号 方法 条件 返回结果1 返回结果2 1 isalpha() 如果字符串只包含字母,并且非空; True False 2 isalnum() 如果字符串只包含字母和数字 ...

  8. Compile Linux Kernel on Ubuntu 12.04 LTS (Detailed)

    This tutorial will outline the process to compile your own kernel for Ubuntu. It will demonstrate bo ...

  9. SpringMVC学习(12):基于Hibernate+Spring+Spring MVC+Bootstrap的管理系统实现

    到这里已经写到第12篇了,前11篇基本上把Spring MVC主要的内容都讲了,现在就直接上一个项目吧,希望能对有需要的朋友有一些帮助. 一.首先看一下项目结构: InfrastructureProj ...

  10. ThinkPHP的MVC模式

    ThinkPHP基于MVC(Model-View-Controller,模型-视图-控制器)模式,并且均支持多层(multi-Layer)设计. 模型(Model)层 默认的模型层由Model类构成, ...