RDB同步机制:

  1. 开启和关闭:默认情况下是开启了。如果想关闭,那么注释掉redis.conf文件中的所有save选项就可以了。
  2. 同步机制:
  • save 900 1:如果在900s以内发生了1次数据更新操作,那么就会做一次同步操作。
  • save 300 10:如果在300s以内发生了10数据更新操作,那么就会做一次同步操作。
  • save 60 10000:如果在60s以内发生了10000数据更新操作,那么就会做一次同步操作。
  1. 存储内容:具体的值,而是命令。并且是经过压缩后存储进去的。
  2. 存储路径:根据redis.conf下的dir以及rdbfilename来指定的。默认是/var/lib/redis/dump.rdb
  3. 优点:
  • 存储数据到文件中会进行压缩,文件体积比aof小。
  • 因为存储的是redis具体的值,并且会经过压缩,因此在恢复的时候速度比AOF快。
  • 非常适用于备份。
  1. 缺点:
  • RDB在多少时间内发生了多少写操作的时候就会出发同步机制,因为采用压缩机制,RDB在同步的时候都重新保存整个Redis中的数据,因此你一般会设置在最少5分钟才保存一次数据。在这种情况下,一旦服务器故障,会造成5分钟的数据丢失。
  • 在数据保存进RDB的时候,Redis会fork出一个子进程用来同步,在数据量比较大的时候,可能会非常耗时。

AOF同步机制:

  1. 开启和关闭:默认是关闭的。如果想要开启,那么修改redis.conf中的appendonly yes就可以了
  2. 同步机制:
  • appendfsync always:每次有数据更新操作,都会同步到文件中。
  • appendfsync everysec:每秒进行一次更新。
  • appendfsync no:使用操作系统的方式进行更新。普遍是30s更新一次。
  1. 存储内容:存储的是具体的命令。不会进行压缩。
  2. 存储路径:根据redis.conf下的dir以及appendfilename来指定的。默认是/var/lib/redis/appendonly.aof
  3. 优点:
  • AOF的策略是每秒钟或者每次发生写操作的时候都会同步,因此即使服务器故障,最多只会丢失1秒的数据。
  • AOF存储的是Redis命令,并且是直接追加到aof文件后面,因此每次备份的时候只要添加新的数据进去就可以了。
  • 如果AOF文件比较大了,那么Redis会进行重写,只保留最小的命令集合。
  1. 缺点:
  • AOF文件因为没有压缩,因此体积比RDB大。
  • AOF是在每秒或者每次写操作都进行备份,因此如果并发量比较大,效率可能有点慢。
  • AOF文件因为存储的是命令,因此在灾难恢复的时候Redis会重新运行AOF中的命令,速度不及RDB。

给redis指定密码:

  1. 设置密码:在reids.conf配置文件中,将requirepass pasword取消注释,并且指定你想设置的密码。
  2. 使用密码连接reids:
  • 先登录上去,然后再使用autho password命令进行授权。
  • 在连接的时候,通过-a参数指定密码进行连接。

其他机器连接redis:

如果想要让其他机器连接本机的redis服务器,那么应该在redis.conf配置文件中,配置requirepassword

远程连接还有一个参数问题:
Protected-mode 是为了禁止公网访问redis,加强redis安全的。

它启用的条件,有两个:

  1. 没有bind IP
  2. 没有设置访问密码

bind 只能设置本机ip地址, 不用设置其他公网ip

reids同步机制和远程连接的更多相关文章

  1. Zookeeper的选举机制和同步机制超详细讲解,面试经常问到!

    前言 zookeeper相信大家都不陌生,很多分布式中间件都利用zk来提供分布式一致性协调的特性.dubbo官方推荐使用zk作为注册中心,zk也是hadoop和Hbase的重要组件.其他知名的开源中间 ...

  2. 全新 Mac 安装指南(编程篇)(环境变量、Shell 终端、SSH 远程连接)

    注:本文专门用于指导对计算机编程与设计(尤其是互联网产品开发与设计)感兴趣的 Mac 新用户,如何在 Mac OS X 系统上配置开发与上网环境,另有<全新 Mac 安装指南(通用篇)>作 ...

  3. SQL优化技巧--远程连接对象引起的CTE性能问题

    背景 最近SSIS的开发过程中遇到几个问题.其中使用CTE时,遇到一个远程连接对象,结果导致严重的性能问题,为了应急我就修改了代码. 之前我写了一篇介绍CTE的随笔包含了CTE的用法等: http:/ ...

  4. day 2远程连接Linux系统管理

        IP端口-协议等基本概念 互联网上的计算机,都会有一个唯一的32位的地址,IP地址. 我们访问服务器.就必须通过这个IP地址. 局域网也有预留的IP地址 192/10/172开头.局域网的 I ...

  5. java并发:线程同步机制之计数器&Exechanger

    第一节 CountDownLatch (1)初识CountDownLatch (2)详述CountDownLatch CountDownLatch是通过一个计数器来实现的,计数器的初始值为线程的数量. ...

  6. mysql 不能远程连接

    不想浪费大家时间,我这文章记录了我在vagrant上架的mysql远程连接不上的问题,不过我在整理时发现这个下面这个链接,如果我一开始能找到这个我就不会绕那么多弯了.不想看我是怎么一步步调错过程的请直 ...

  7. linux_远程连接

    为什么要远程连接linux服务器? 温度.湿度.电力各种影响,有的企业使用阿里云服务器,更加接触不到机房,所有需要通过远程连接服务器来进行管理 IP地址? 互联网上的计算机,都会有一个唯一的32位地址 ...

  8. Sublime 远程连接 Linux服务器

    Sublime是一款强大的编辑器,它的强大体现在它强大的插件. 要实现Sublime 远程连接 Linux服务器,需要使用插件SFTP. 一. 插件安装 用Package Control安装插件按下C ...

  9. Redis系列-远程连接redis

    假设两台redis服务器,ip分别为:192.168.1.101和192.168.1.103,如何在101上通过redis-cli访问103上的redis呢?在远程连接103之前,先讲下redis-c ...

随机推荐

  1. LearnHowToThink

    一.BubbleSort and XListview 1.BubbleSort (1)analysis traverse.compare.exchange.cycle.optimize strateg ...

  2. sqlserver索引维护(重新组织生成索引)

    sqlserver索引的维护 1:查看索引碎片大于百分三十以上的索引 select object_id= object_id,indexid = index_id,partitionnum = par ...

  3. Docker_2 常用命令

    Docker的组成 容器与镜像 docker常用命令 辅助信息 Docker的组成 Docker Daemon Docker Client Docker Hub 使用Docker Client时,输入 ...

  4. Linux中nmon的安装与使用

    一.下载nmon. 根据CPU的类型选择下载相应的版本:http://nmon.sourceforge.net/pmwiki.php?n=Site.Downloadwget http://source ...

  5. ACM HDU-2952 Counting Sheep

    Counting Sheep Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) T ...

  6. Hyperledger Fabric 1.0 学习搭建 (三)--- 运行测试e2e-Fabric

    3.1.运行fabric-samples的问题说明 该问题说明能够解决6.1.平台特定使用的二进制文件配置第一步的问题.可以选择继续阅读该说明,或者等参考到6.1小节时再反向阅读本说明,具体在6.1中 ...

  7. 表空间常用sql汇总

    表空间碎片相关:select tablespace_name,       round(sqrt(max(blocks) / sum(blocks)) *             (100 / sqr ...

  8. jmeter报告优化---展示详细信息

    参考文档:https://www.cnblogs.com/puresoul/p/5049433.html 楼上博主写的还是很详细,在报告优化这块,但是在操作中也走了一些弯路,我改动了两个点才成功,根据 ...

  9. Mysql分表和分区的区别、分库分表介绍与区别(转)

    分表和分区的区别: 一,什么是mysql分表,分区 什么是分表,从表面意思上看呢,就是把一张表分成N多个小表,具体请看:mysql分表的3种方法 什么是分区,分区呢就是把一张表的数据分成N多个区块,这 ...

  10. 10.spring:常用的数据库代码.....(不长使用了解即可)

    测试代码: ApplicationContext ctx = new ClassPathXmlApplicationContext("JDBC.xml"); DataSource ...