Redis——进阶
redis的持久化
redis提供两种备份方式,一种是RDB 一种是AOF
RDB默认开启。关闭注释掉所有的save,存储的是redis 具体的值,会压缩存储。
AOF配置文件中appendonly yes 表示开启。存储的是redis操作的命令。
RDB和AOF的对比:
RDB |
AOF |
|
开启与关闭 |
默认开启的备份方式,要想关闭将配置文件中的所有save注释掉即可。 |
在配置文件中appendonly:yes即为开启,no为关闭。 |
同步机制 |
可以指定某个时间段发生多少个命令进行同步,如一分钟发生6次操作进行一次同步。 |
每秒同步,或者每次发生命令操作的时候写入。 |
存储的内容 |
存储的是redis里具体的值。 |
存储执行操作的命令。 |
存储文件路径 |
根据dir以及dbfilename来指定路径和具体的文件名。 |
根据dir以及appendfilename来指定路径和具体的文件名。 |
优点 |
1、存储的数据文件会进行压缩,文件体积比aof的小。 2、因为存储的是redis的具体的值,因此在数据恢复的时候比aof快。 3、非常适合备份。 |
1、aof策略是每次发生写的操作都会备份,因此数据极为安全,down机最多丢失1s的数据。 2、aof存储的是redis的命令,而且是直接追加到后面,因此每次备份只需添加新的数据就可以了。 3、如果aof的文件过大,那么redis会进行重写,只保留最小的命令集合。 |
缺点 |
1、rdb在多少时间发生多少写的操作就会触发同步机制,采用压缩机制,rdb在同步的时候会重新保存整个redis的数据,因此一般设置5min才保存一次数据,如果down机,会丧失5分钟的数据。 2、数据rdb备份时,redis会fork一个子进程来同步,数据较大时,可能会非常耗时。 |
1、aof没有压缩,文件体积较大 2、Aof在每次写的操作时都备份,因此并发量较大时,可能有点慢。 3、Aof存储的是命令,在恢复数据的时候叫rdb慢。 |
redis主从架构
启动redis:redis-server redis.conf
将redis的配置文件复制一份:cp redis.conf salve.conf
更改slave.conf这份配置文件:
bind 127.0.0.1 #你的对外提供链接的ip地址
slaveof 127.0.0.1 6379 #从属于哪个主数据库ip+prot
port 6280 #自身的port
启动两个redis:
redis-server redis.conf
redis-server slave.conf
客户端连接:
redis-cli -h 127.0.0.1 -p 6379
在6380可以进行同步,从节点只读,read only
主负责写,从负责读,读写分离。
redis多主多从集群
redis cluster 5.0 #用于集群的搭建
redis 配置文件:7000.conf 7001.conf 。。。。
port 7000
bind 192.168.27.13
deamonize yes
pidfile 7000.pid
cluster-enable yes
cluster-config-file 7000_node.conf
cluster-node-timeout 15000
appendonly yes #开启aof备份方式
准备六个配置文件:更改所有7000后面的数字从0——5.
启动命令:redis-server 700#.conf #将6个redis服务启动。
创建集群:redis-cli --cluster create 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003
127.0.0.1:7004 127.0.0.1:7005 --cluster-replicas 1
会有master和槽位的分配,决定slave 3:3
type yes 建立集群配置。
redis-cli -c -h 192.168.27.13 -p 7000 #这个时候连接需要指定端口
Redis——进阶的更多相关文章
- Redis进阶实践之十三 Redis的Redis-trib.rb文件详解
一.简介 事先说明一下,本篇文章不涉及对redis-trib.rb源代码的分析,只是从使用的角度来阐述一下,对第一次使用的人来说很重要.redis-trib.rb是redis官方推出的管理re ...
- Redis进阶实践之十六 Redis大批量增加数据
一.介绍 有时,Redis实例需要在很短的时间内加载大量先前存在或用户生成的数据,以便尽可能快地创建数百万个键.这就是所谓的批量插入,本文档的目标是提供有关如何以尽可能快的速度向Redis提 ...
- Redis进阶实践之十八 使用管道模式加速Redis查询
一.引言 学习redis 也有一段时间了,该接触的也差不多了.后来有一天,以为同事问我,如何向redis中批量的增加数据,肯定是大批量的,为了这主题,我从新找起了解决方案.目前 ...
- Redis进阶实践之十三 Redis的Redis-trib.rb脚本文件使用详解
转载来源:http://www.cnblogs.com/PatrickLiu/p/8484784.html 一.简介 事先说明一下,本篇文章不涉及对redis-trib.rb源代码的分析,只是从使用的 ...
- Redis进阶实践之九 独立封装的RedisClient客户端工具类(转载9)
Redis进阶实践之九 独立封装的RedisClient客户端工具类 一.引言 今天开始有关Redis学习的第九篇文章了,以后肯定会大量系统使用Redis作为缓存介质,为了更好的更好的Redis,自己 ...
- Redis进阶实践之七Redis和Lua初步整合使用(转载 7)
Redis进阶实践之七Redis和Lua初步整合使用 一.引言 Redis学了一段时间了,基本的东西都没问题了.从今天开始讲写一些redis和lua脚本的相关的东西,lua这个脚本是一个好东西,可以运 ...
- Redis进阶实践之六Redis Desktop Manager连接Windows和Linux系统上的Redis服务(转载6)
Redis进阶实践之六Redis Desktop Manager连接Windows和Linux系统上的Redis服务 一.引言 今天本来没有打算写这篇文章,但是,今天测试Redis的时候发现了两个问题 ...
- Redis进阶实践之五Redis的高级特性(转载 5)
Redis进阶实践之五Redis的高级特性 一.引言 上一篇文章写了Redis的特征,使用场景,同时也介绍了Redis的基本数据类型,redis的数据类型是操作redis的基础,这个必须好好的掌握.今 ...
- Redis进阶实践之四Redis的基本数据类型(转载4)
Redis进阶实践之四Redis的基本数据类型 一.引言 今天正式开始了Redis的学习,如果要想学好Redis,必须先学好Redis的数据类型.Redis为什么会比以前的Memchaed等内存缓存软 ...
- Redis进阶实践之三如何在Windows系统上安装安装Redis(转载)
Redis进阶实践之三如何在Windows系统上安装安装Redis 一.Redis的简介 Redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括 ...
随机推荐
- centos 默认php 版本太低移到高版本的办法
// centos 默认有php 版本太低转移到高版本的解决办法 php -v 版本低 ln -s /usr/local/php/bin/php /usr/bin/php
- ava StringTokenizer 类使用方法
菜鸟教程 -- 学的不仅是技术,更是梦想! 首页 笔记首页 Android 互联网 程序员人生 程序员笑话 编程技术 红包 知识店铺 --> 首页 Android 鸡汤 逗乐 Search Ja ...
- PCF8591 AD/DA模块使用详解
I2C PCF8591 8位AD/DA转换 BCM2835 Library 1.PCF8591T简述 PCF8591器件图如下: PCF8591是一个8位的CMOS数据采集器件,具有4个模拟输入(其中 ...
- day22-Python运维开发基础(正则函数 / 异常处理)
1. 正则函数 # ### 正则表达式 => 正则函数 import re # search 通过正则匹配出第一个对象返回,通过group取出对象中的值 strvar = "5*7 9 ...
- Atcoder Grand Contest 037C(贪心,优先队列,思维)
#define HAVE_STRUCT_TIMESPEC//编译器中time.h和phread.h头文件中timespec结构体重名,故加此行#include<bits/stdc++.h> ...
- ARM CORTEX-M3 内核架构理解归纳
ARM CORTEX-M3 内核架构理解归纳 来源:网络 个人觉得对CM3架构归纳的非常不错,因此转载 基于<ARM-CORTEX M3 权威指南>做学习总结: 在我看来,Cotex-M3 ...
- 「Luogu P2824 [HEOI2016/TJOI2016]排序」
一道十分神奇的线段树题,做法十分的有趣. 前置芝士 线段树:一个十分基础的数据结构,在这道题中起了至关重要的作用. 一种基于01串的神奇的二分思想:在模拟赛中出现了这道题,可以先去做一下,这样可能有助 ...
- SRS——打开 stream caster
按照默认的配置编译启动后,发现 stream caster 不起作用,启动时报如下警告: [-- ::][][] stream caster: off 原因是编译SRS时没有打开StreamCaste ...
- css怎样让元素显示指定的宽高比
.father { width: 100% } .child {; padding-bottom: 20%; background: green; overflow: hidden; } <bo ...
- Flask 教程 第二十三章:应用程序编程接口(API)
本文翻译自The Flask Mega-Tutorial Part XXIII: Application Programming Interfaces (APIs) 我为此应用程序构建的所有功能都只适 ...