架构师养成记--33.Redis哨兵、redis简单事务
Redis哨兵
有了主从复制,如果我想想对主从服务器进行监控,在redis2.6后提供了哨兵机制,2.6有哨兵1.0版本,并不稳定。2.8以后的哨兵功能才稳定起来。
顾名思义,哨兵就是监控Redis系统的运行状况,其主要功能有两点:
- 监控主数据库和从数据库是否正常运行
- 主数据库出现故障时,可以自动将从数据转换为主数据,实现自动切换
实现步骤:
- 在其中一台从服务器配置sentinel.conf
- copy文件sentinel.conf文件到/usr/local/redis/etc/中
- 修改sentinel.conf文件
sentinel monitor mymaster 192.168.1.17 6379 1 #名称 ip 端口 选票次数
sentinel down-after-milliseconds mymaster 5000 #默认1s检测一次,这里配置超时5000毫秒
sentinel failover-timeout mymater 800000
sentinel parallel-syncs mymaster 2
sentinel can-failover mymaster yes - 启动sentinel哨兵 :/usr/local/redis/bin/redis-server /usr/local/redis/etc/sentinel.conf --sentinel &
- 查看哨兵相关信息命令
/usr/local/redis/bin/redis-cli -h 192.168.17 -p 26379 info sentinel - 关闭主服务器查看集群信息
/usr/local/redis/bin/redis-cli -h 192.168.1.17 -p 6379 shutdown
Redis简单事务
redis的事务非常简单,首先是要multi方法打开事务,然后set,这时set的数据都会放入队列里进行保存,最后是要exec执行,把数据依次存储到redis中,使用discard方法取消事务。
redis的事务不能保证同事成功或失败进行提交或回滚,所以redis事务的实现目前还是比较简单的,如下图,虽然在incr name的时候报错了,但是incr age还是成功了的。
架构师养成记--33.Redis哨兵、redis简单事务的更多相关文章
- 架构师养成记--35.redis集群搭建
前记:redis哨兵经验之谈.哨兵做主从切换可能要花费一两秒,这一两秒可能会丢失很多数据.解决方法之一是在java代码中做控制,try catch 到 链接断开的异常就sleep 一两秒钟再conti ...
- 架构师养成记--32.Redis高级(安全 主从复制)
Redis高级命令及特性 keys * 返回满足的所有键值(*表示模糊匹配) exists 是否存在指定的key(返回1表示存在,0表示不存在) expire 设置某个key的过期时间,使用ttl查看 ...
- 架构师养成记--30.Redis环境搭建
Redis的安装 下载地址http://redis.io/download 安装步骤: 首先需要安装gcc,把下载好的redis-3.0.0-rc2.tar.gz 放到 /usr/local 文件夹下 ...
- 架构师养成记--29.redis开篇
主要有从下几点讲解 NOSQL(Redis) 简介.redis安装与部署 Redis基础事件类型详解 Redis高级命令 Redis与java的使用 Redis集群搭建 Redis集群与spring的 ...
- 架构师养成记--34.Redis持久化
---恢复内容开始--- redis是一个支持持久化的内存数据库,也就是搜redis需要经常将内存中的数据同步到硬盘来保证持久化.redis持久化有两种方式. snapshotting(快照)默认方式 ...
- 架构师养成记--31.Redis的几种类型
String类型 Redis一共分为五种基本数据类型:String.Hash.List.Set.ZSet String类型是包含很多张类型的特殊类型,并且是二进制安全的.比如对序列化的对象进行存储,比 ...
- 架构师养成记--15.Disruptor并发框架
一.概述 disruptor对于处理并发任务很擅长,曾有人测过,一个线程里1s内可以处理六百万个订单,性能相当感人. 这个框架的结构大概是:数据生产端 --> 缓存 --> 消费端 缓存中 ...
- 架构师养成记--14.重入锁ReentrantLock 和 读写锁 ReentrantReadWriteLock
ReentrantLock 有嗅探锁定和多路分支等功能,其实就是synchronized,wait,notify的升级. this锁定当前对象不方便,于是就有了用new Object()来作为锁的解决 ...
- 架构师养成记--12.Concurrent工具类CyclicBarrier和CountDownLatch
java.util.concurrent.CyclicBarrier 一组线程共同等待,直到达到一个公共屏障点. 举个栗子,百米赛跑中,所有运动员都要等其他运动员都准备好后才能一起跑(假如没有发令员) ...
随机推荐
- windows10 查看进程端口的情况
以程序 winnfsd.exe 为例: 1 查看进程号 PID C:\Users\leo>tasklist|findstr winnfsd.exe winnfsd.exe ...
- [Training Video - 2] [Groovy Introduction]
Building test suites, Test cases and Test steps in SOAP UI Levels : test step level test case level ...
- Java 设计模式系列(十四)命令模式(Command)
Java 设计模式系列(十四)命令模式(Command) 命令模式把一个请求或者操作封装到一个对象中.命令模式允许系统使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复 ...
- Windows sql语句正则匹配导出数据到本地 The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
尝试使用 into outfile导出数据的时候出现错误: The MySQL server is running with the --secure-file-priv option so it c ...
- sql语句语句中的正则查找
举例: select tncl_id from tncl where tncl_id regexp'^0065'; 有一表,数据有10万多条,其中某列数据示例如下: 100000-200000-300 ...
- 虚拟机CentOS6.5搭建samba服务器实现文件共享
Samba是SMB的一种实现方法,主要用来实现Linux系统的文件和打印服务.Linux用户通过配置使用Samba服务器可以实现与Windows用户的资源共享:而守护进程smbd和nmbd是Samba ...
- python int函数转换浮点型字符串的坑???
python中的int函数可以将数字或字符串转换为整型数字类型,具体功能就不提了 最近发现一个问题,对于字符串'1.1'之类的,int转换的时候会报异常,这是为什么,个人感觉直接转换成1不就行了,干嘛 ...
- UVALive - 6434 —(思维题)
题意:给出了你由n个数组成的序列,让你将这个序列分为成m个集合,使得每一个集合的最大值减最小值的差相加最小.(如果某集合只有一个数字,则最大值减最小值为0) . 思路:首先我们不难想到,最优的分配方法 ...
- CDI(Weld)高级<4> Event(事件) (转)
目录[-] 1. Event payload(事件的有效载入) 2. Event observers(event的观察者) 3. Event producers(event生产者) 4.Annotat ...
- c# 中 $符号的用法
var names = new List<string> { "jason", "Ana", "Felipe" }; forea ...