Redis 学习-Redis Sentinel】的更多相关文章

新技术的出现一定是在老技术的基础之上,并且完善了老技术的某一些不足的地方,新技术和老技术就如同JAVA中的继承关系.子类(新技术)比父类(老技术)更加的强大! 在前面介绍了Redis学习--Redis持久化之RDB备份方式保存数据之后,下面在整理和学习一下Redis的AOF方式保存数据. 首先抛出几个问题,然后回答这些问题,最后逐步的对AOF进行介绍. 1.RDB可以搞定备份恢复的事情,为什么还会出现AOF? 答案:这个问题的答案可以参看,上面说的Redis持久化之RDB备份方式保存数据中的RD…
PyCharm下的Redis连接 连接方式: 1. 操作模式 redis-py提供两个类Redis和StrictRedis用于实现Redis的命令,StrictRedis用于实现大部分官方的命令,并使用官方的语法和命令,Redis是StrictRedis的子类,用于向后兼容旧版本的redis-py 2. 连接池 redis-py使用connection pool来管理对一个redis server的所有连接,避免每次建立.释放连接的开销.默认,每个Redis实例都会维护一个自己的连接池.可以直接…
Redis和传统的关系型数据库一样,因为具有持久化的功能,所以也有事务的功能! 有关事务相关的概念和介绍,这里就不做介绍. 在学习Redis的事务之前,首先抛出一个面试的问题. 面试官:请问Redis支持事务吗?如果支持和传统的关系型数据的事务有什么区别? 应试者:支持,但是是部分支持.Redis的事务和传统的关系型数据库事务有点不一样,传统的数据库事务一组操作单元,要么全部成功,要么全都失败.而Redis在执行一个命令集合的时候,可能会出现集合的一些命令成功,一些命令失败. Redis 事务-…
[原文]https://www.toutiao.com/i6591646189714670093/ 本文主要针对Redis常见的几种使用方式及其优缺点展开分析. 一.常见使用方式 Redis的几种常见使用方式包括: Redis单副本: Redis多副本(主从): Redis Sentinel(哨兵): Redis Cluster: Redis自研. 二.各种使用方式的优缺点 1.Redis单副本 Redis单副本,采用单个Redis节点部署架构,没有备用节点实时同步数据,不提供数据持久化和备份策…
从这一个介绍里面知道,redis比memcache作为缓存数据库强大的地方,一个是支持的数据类型比较多,另一个就是redis持久化功能. 下面就介绍Redis的持久化之RDB! 一:什么是redis的持久化 官网介绍: 英文:https://redis.io/topics/persistence 中文:http://www.redis.cn/topics/persistence.html 二:Redis的RDB是什么? 在指定的时间间隔内将内存中的数据集快照写入磁盘,也就是行话讲的Snapsho…
一.启动服务 1. 配置文件 sentinel.conf daemonize yes # 是否守护进程启动 pidfile "/var/run/redis-sentinel-26379.pid" # pid文件 logfile "26379.log" # 日志文件 dir "/usr/local/src/redis/redis-5.0.7/data" # 工作空间 sentinel monitor mymaster 127.0.0.1 6379…
学以致用 学在用前 参看文章: redis.conf 配置详解 Redis配置文件详解(redis.conf)-云栖社区 在Redis的使用过程,除了知道对Redis五种数据类型的操作方法之外,最主要额就是对redis.conf进行配置了,下面整理出redis.conf中常见的一些配置介绍. 参数说明 redis.conf 配置项说明如下: 1: Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程 daemonize no 2: 当Redis以守护进程方式运行时…
毫无疑问,Redis开创了一种新的数据存储思路,使用Redis,我们不用在面对功能单调的数据库时,把精力放在如何把大象放进冰箱这样的问题上,而是利用Redis灵活多变的数据结构和数据操作,为不同的大象构建不同的冰箱.希望你喜欢这个比喻. 一.Redis常用数据类型 Redis最为常用的数据类型主要有以下五种: String Hash List Set Sorted set 在具体描述这几种数据类型之前,我们先通过一张图了解下Redis内部内存管理中是如何描述这些不同数据类型的: 首先Redis内…
Redis的5种基本类型 1.String 2.Hash 3.List 4.Set 5.Sorted Set String常见用法 1.get key 返回value 2.set key value 设置键值对 3.getset key value 返回value并且设置键值对 4.del key 删除数据 5.incr num 进行自增长操作(若不存在,则为1) 6.decr num 自减少操作(若不存在,则为-1) 7.incrby key increment 自增长数量 8.decrby…
Redis安装 关于软件安装,之前是通过记录视频,前段时间发现可以直接阅读官网进行安装,这步省略 启动:前端启动直接启动src目录下redis-server,后端启动修改redis.conf中daemonize yes,之后./redis-server redis.conf可以启动 关闭,可以直接shutdown关闭server,也可以通过管道查询 ps -ef|grep redis杀死kill -9 进程号 Jedis的使用 通过Jedis访问Redis 1.简单存储获取 public sta…
Redis的免密操作 问题解决[方式一]:当前这种linux配置redis密码的方法是一种临时的,如果redis重启之后密码就会失效 1.首先进入redis,如果没有开启redis则需要先开启: [root@ftl bin]# redis-cli -p 6379 127.0.0.1:6379> 2. 查看当前redis有没有设置密码: 127.0.0.1:6379> config get requirepass 1) "requirepass" 2) ""…
全局有效的其他操作 save 强制将内存/缓存中的key刷到硬盘上 -------------------------------------------------------------------------------------------------------------------------------------- delete(*names) # 根据删除redis中的任意数据类型 ----------------------------------------------…
有序集合,在集合的基础上,为每元素排序:元素的排序需要根据另外一个值来进行比较,所以,对于有序集合,每一个元素有两个值,即:值和分数,分数专门用来做排序. zadd(name, *args, **kwargs) #在name对应的有序集合中添加元素 -----------------------------------------------------------------------------------------------------------------------------…
List操作,redis中的List在在内存中按照一个name对应一个List来存储 lpush(name,values) --> 实际上是左添加 # 在name对应的list中添加元素,每个新的元素都添加到列表的最左边  # 如:     # r.lpush('oo', 11,22,33)     # 保存顺序为: 33,22,11  # 扩展: # rpush(name, values) 表示从右向左操作 -------------------------------------------…
hash表现形式上有些像pyhton中的dict,可以存储一组关联性较强的数据[有点像嵌套字典] hset(name, key, value) --> 设置hash的操作 # 参数:     # name,redis的name     # key,name对应的hash中的key # value,name对应的hash中的value # 注:     # hsetnx(name, key, value),当name对应的hash中不存在当前key时则创建(相当于添加) -------------…
set(name, value, ex=None, px=None, nx=False, xx=False) 在Redis中设置值,默认,不存在则创建,存在则修改 参数:      ex,过期时间(秒)      px,过期时间(毫秒)      nx[not exist],如果设置为True,则只有name不存在时,当前set操作才执行      xx,如果设置为True,则只有name存在时,当前set操作才执行 ---------------------------------------…
一.慢查询 找到 系统中瓶颈的命令 1. 客户端请求的生命周期: ①. 慢查询通常发生在第三阶段. ②. 客户端超时不一定是慢查询,但慢查询是客户端超时的一个可能因素. 2. 相关配置 慢查询命令会存放在一个先进先出的队列 查询队列的长度: config get slowlog-max-len 默认值是 128,我们通常建议设置为 1000 config set slowlog-max-len= 查询慢查询的定义时长: config get slowlog-log-slower-than 默认值…
Set操作,Set集合就是不允许重复的列表 sadd(name,values) name对应的集合中添加元素 -------------------------------------------------------------------------------------------------------------------------------------- scard(name) 获取name对应的集合中元素个数 -------------------------------…
说明:文章内容来自百度百科和redis官方对redis的介绍 Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorted set --有序集合)和hash(哈希类型).这些数据类型都支持push/pop.add/remove及取交…
什么是NoSQL型数据库 NoSQL数据库---NoSQL数据库的分类 Redis学习---NoSQL和SQL的区别及使用场景 Redis学习---负载均衡的原理.分类.实现架构,以及使用场景 什么是redis Redis是用C语言开发的一个开源的高性能键值对(key-value)数据库.它通过提供多种键值数据类型来适应不同场景下的存储需求,目前Redis支持的键值数据类型如下: 字符串类型 散列类型 列表类型 集合类型 有序集合类型. redis的应用场景 缓存(数据查询.短连接.新闻内容.商…
项目中用到Redis,所以准备学习一下,感觉Redis的概念还是很多的,什么主从模式.sentinel模式.集群模式的,一下子都晕了,我觉得还是有必要先理清这些基本概念再说. 一.单节点实例 单节点实例还是比较简单的,平时做个测试,写个小程序如果需要用到缓存的话,启动一个Redis还是很轻松的,做为一个key/value数据库也是可以胜任的.单节点部署参照:http://www.cnblogs.com/yiwangzhibujian/p/7053840.html 中的初级教程. 二.主从模式(m…
上一节中介绍了master-slave模式,在最小配置:master.slave各一个节点的情况下,不管是master还是slave down掉一个,“完整的”读/写功能都将受影响,这在生产环境中显然不能接受.幸好redis提供了sentinel(哨兵)机制,通过sentinel模式启动redis后,自动监控master/slave的运行状态,基本原理是:心跳机制+投票裁决 每个sentinel会向其它sentinal.master.slave定时发送消息,以确认对方是否“活”着,如果发现对方在…
Redis的Sentinel系统用于管理多个Redis服务器(instance), 该系统执行以下三个任务: 监控(Monitoring):Sentinel会不断地检查你的主服务器和从服务器是否运作正常. 提醒(Notification):当被监控的某个Redis服务器出现问题时, Sentinel 可以通过 API 向管理员或者其他应用程序发送通知. 自动故障迁移(Automatic failover):当一个主服务器不能正常工作时, Sentinel 会开始一次自动故障迁移操作, 它会将失效…
主从模式的弊端就是不具备高可用性,当master挂掉以后,Redis将不能再对外提供写入操作,因此sentinel应运而生. Redis Sentinel是Redis官方提供的集群管理工具,主要有三大功能: 监控:能持续监控Redis的主从实例是否正常工作: 通知:当被监控的Redis实例出问题时,能通过API通知系统管理员或其他程序: 自动故障恢复:如果主实例无法正常工作,Sentinel将启动故障恢复机制把一个从实例提升为主实例,其他的从实例将会被重新配置到新的主实例,且应用程序会得到一个更…
0x00 Redis简介 Redis是一款开源的.高性能的键-值存储(key-value store).它常被称作是一款数据结构服务器(data structure server). Redis的键值可以包括字符串(strings)类型,同时它还包括哈希(hashes).列表(lists).集合(sets)和 有序集合(sorted sets)等数据类型. 对于这些数据类型,你可以执行原子操作.例如:对字符串进行附加操作(append):递增哈希中的值:向列表中增加元素:计算集合的交集.并集与差…
首先我们配置一台master服务器,两台slave服务器.master服务器配置就是默认配置 端口为6379,添加就一个密码CeshiPassword,然后启动master服务器. 两台slave服务器配置如下:     1.先找到配置redis.windows-service.config文件修改port 6379 为port 6380     2.然后配置master服务器地址:slaveof 127.0.0.1 6379,然后主服务有密码还需要配置密码 masterauth CeshiPa…
我们先看看config 默认情况下系统是怎么配置的.在命令行中输入 config get *(如图) 默认情况下有61配置信息,每一个命令占两行,第一行为配置名称信息,第二行为配置的具体信息.     我们就从上到下来理解一下这些配置信息中的某些配置:     1.dbfilename是本地持久化存储数据库文件名,默认为dump.rdb.我可以在安装目录文件夹下找到这个文件.     2.requirepass是密码,即连接服务器的密码,默认为空.下面我来设置一个密码然后用带密码的命令连接一遍.…
上一章我们已经知道了如果启动redis服务器,现在我们来学习一下,以及如何用客户端连接服务器.接下来我们来学习一下查看操作服务器的命令. 服务器命令: 1.info——当前redis服务器信息   server:一般redis服务器信息,包含以下域:         redis_version:redis服务器版本号         redis_git_sha1:Git SHA1         redis_git_dirty:Git dirty flag         os:redis服务器…
回到占占推荐博客索引 百度百科 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorted set --有序集合)和hashs(哈希类型).这些数据类型都 支持push/pop.add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的.在此基础上,redis支持各种不同方式的排 序.与memcached一样,为了保证效率,数据都是缓存在内存中.…
本文是redis学习系列的第四篇,前面我们学习了redis的数据结构和一些高级特性,点击下面链接可回看 <详细讲解redis数据结构(内存模型)以及常用命令> <redis高级应用(主从.事务与锁.持久化)> 本文我们继续学习redis的高级特性——集群.本文主要内容包括集群搭建.集群分区原理和集群操作的学习. Redis集群简介 Redis 集群是3.0之后才引入的,在3.0之前,使用哨兵(sentinel)机制(本文将不做介绍,大家可另行查阅)来监控各个节点之间的状态.Redi…