Redis的简单了解以及主从复制

1.Redis的简单了解

Redis是一种高性能的分布式NoSql数据库,持久存储,高并发,数据类型丰富,通过现场申请内存空间,同时可以配置虚拟内存。
五种数据类型:string(字符串,这种格式和memcache是一致的)、hash(哈希)、list(列表,包括队列和栈)、set(集合)、zset(有序集合),使用key-value对的时候,可以直接存入对象,无需进行序列化,默认的使用了.net中自己的序列化,进行处理,所以也会出现对象循环引用的问题,此时需要使用json.net序列化为字符串,然后在存入字符串即可
持久化的两种方式:快照(默认)和AOF
快照是设置每个某个时间,就将数据写到dump.rdb文件中
AOF:将数据写到内存中,然后紧跟着将数据写到磁盘上

快照配置(数据保存在dump.rdb文件)

900s内修改一个数据,保存一次,300s内修改10次,保存一次,60s内修改10000次保存一次

AOF配置(数据保存在aof文件)

默认的AOF方式是关闭的,开启的时候需要改为yes

默认的采用的是everysec,这是一种性能折中的方式,每秒后持久到磁盘的aof文件中,一秒可以做很多操作的。

随着每次向aof执行保存操作,这个文件会变得越来越大,Redis中默认的机制是当服务器的负载低的时候,进行这个文件的重写。我们可以采取的方案:将主服务器的持久化机制全部关掉,(save关掉,aof日志记录关掉),只是在从服务器上开启这些功能,因为从服务器的负载能力比较大

2.Redis的主从复制

memcache无法实现主从复制,Redis可以实现主从复制,可以进行读写分离,一个主多从,只要修改一下配置文件即可,memchae进行读写的时候,是通过哈希算法,选择出任意一个来执行操作,无法实现主服务器和从服务器的区分。

具体的操作步骤:

(1).首先在磁盘上创建两个文件夹,Master服务器文件夹和Slave服务器文件夹

(2).修改主服务器的配置,在redis.windows.conf中修改。例如:bind 127.0.0.1,端口号默认的使用6379

(3)修改从服务器的相关配置,如端口号等

port  6699

bind 127.0.0.1

slaveof 127.0.0.1 6379

# slaveof <masterip> <masterport>
slaveof 127.0.0.1 6379

(4)分别启动Master服务和Slave服务

3.解决死锁

解决并发:
1.使用缓存和静态页
2.使用Nosql数据库
3.可以做数据库集群,读写分离
4.尽量访问方向一致
5.使用临时表

时间: 2024-08-04 19:32:58

Redis的简单了解以及主从复制的相关文章

Redis构建简单的主从复制

Redis构建简单的主从复制 原理: 当设置好slave服务器后,slave会建立和master的连接,然后发送sync命令.无论是第一次同步建立的连接还是连接断开后的重新连 接,master都会启动一个后台进程,将数据库快照保存到文件中,同时master主进程会开始收集新的写命令并缓存起来.后台进程完成写文件 后,master就发送文件给slave,slave将文件保存到磁盘上,然后加载到内存恢复数据库快照到slave上. 配置前提,关闭防火墙或允许redis端口通行 Centos7 IP:1

基于redis 内存数据库简单使用

在ecplise中使用内存数据的客端户,前提要准备要下载两个jar包 commons-pool2-2.0.jar jedis-2.4.2.jar 前提准备做好了,那我们就开启redis的服务,打开一个命令窗口输入如下命令:redis-server  或redis-server  redis根目\redis.conf 服务器已经开启了,注意端号是6377 2.在eclipse 创建一个项目,把redist需要的包导入项目中 3.写一个Jedis工具类 public class JedisUtil 

Node.js操作Redis的简单示例

Redis是一个key-value类型的数据库,而key全部都是字符串,value可以是集合.hash.list等等. Redis是通过MULTI/DISCARD/EXEC/WATCH这4个命令来实现事务功能.对事务,我们必须知道事务安全性是一个非常重要的. 事务提供了一种"将多个命令打包,然后一次性.按顺序执行"的机制,并且在事务执行期间不会中断--意思就是在事务完成之前,客户端的其他命令都是阻塞状态. var redis = require("redis");

Redis 的简单运算

Redis 的简单运算 命令 说明 备注 incr key 在原字段上加 1 只能对整数操作 incrby key increment 在原字段上加上整数 (increment) 只能对整数操作 decr key 在原字段上减 1 只能对整数操作 decrby key decrement 在原字段上 减去 整数 (decrement) 只能对整数操作 incrbyfloat key increment 在原字段上加上浮点数 (increment) 可以操作浮点数 或者 整数 C:\Users\o

深入学习Redis(3):主从复制

原文:深入学习Redis(3):主从复制 前言 在前面的两篇文章中,分别介绍了Redis的内存模型和Redis的持久化. 在Redis的持久化中曾提到,Redis高可用的方案包括持久化.主从复制(及读写分离).哨兵和集群.其中持久化侧重解决的是Redis数据的单机备份问题(从内存到硬盘的备份):而主从复制则侧重解决数据的多机热备.此外,主从复制还可以实现负载均衡和故障恢复. 这篇文章中,将详细介绍Redis主从复制的方方面面,包括:如何使用主从复制.主从复制的原理(重点是全量复制和部分复制.以及

python redis 实现简单的消息订阅

python + redis 实现简单的消息订阅 订阅端 import redis from functools import wraps class Subscribe: def __init__(self, channel: str, **kwargs): self.coon = redis.StrictRedis(**kwargs) self.channel = channel self.registerd = list() self.course = self.coon.pubsub()

redis单机多实例_主从复制

上一篇讲到了redis单机单实例的安装http://my.oschina.net/xinxingegeya/blog/389155, 这一篇主要安装单机多实例,以及主从复制的配置.这就是一个redis的集群了. 单机多实例的配置 [[email protected] redis_7000]# pwd /opt/redis-2.8.19/redis_7000 [[email protected] redis_7000]# ./src/redis-cli -p 7000 127.0.0.1:7000

java架构之路-(Redis专题)SpringBoot连接Redis超简单

上次我们搭建了Redis的主从架构,哨兵架构以及我们的集群架构,但是我们一直还未投入到实战中去,这次我们用jedis和springboot两种方式来操作一下我们的redis 主从架构 如何配置我上次已经讲过了,https://www.cnblogs.com/cxiaocai/p/11711377.html.我们这次主要看如何用java来操作redis,先来复习一下上次的配置,准备三台服务器,安装redis,保证互通,两台改为slave,配置replicaof IP 端口,主从复制是通过rdb文件

Redis Cluster 简单安装配置

1 先安装ruby-2.3.1.tar.gz 2 解压 redis-3.2.1.zip 得到redis-3.2.1.gem 3 gem install --local redis-3.2.1.gem -V 4 解压 redis-3.2.0.tar.gz 拷贝到/app/redis/redis-3.2.0 5 安装 make / make install 6 创建集群需要的目录mkdir /app/redis/redis-nodescd /app/redis/redis-nodesmkdir 70