一、事务(相对mysql来说简单)

1. 比较

 ①:mysql   ----->start trantation ---->普通sql ------->回滚rollback------>commit

 ②:redis -------> multi-(放入queue队列)-->普通命令----->discard (取消,不是真正的回滚感觉) ---->exec

2. 注

rollback与discard的区别

   如果已经成功执行2条语句,第3条语句出错RollBack后,

      ①:前两条语句影响会消失
      ②:Discard只是结束本次事务(第三条失败,其他两条不影响),前两条语句造成的影响仍然存在 在mutil后面的语句中,语句出错可能有两种情况
1. 语法就有问题,这种exec时,报错,所有语句得不到执行
2. 语法本身没错,但使用对象有问题,比如zadd操作list对象,exec之后,会执行正确的语句,并跳过有不适当的语句 watch key1 key2 ....keyn 监视key有没有变化,如果有变,则事务取消 unwatch 取消所有watch监视

二、 发布订阅

①:publish aa ‘aa’  发布消息 (publish aa ‘aa’)

②:subscribe aa  订阅消息
③:psubscribe aa   订阅消息,模糊匹配(aabb也可以接收到)

三、集群搭建

1. 主从备份,防止主机宕机

2. 读写分离,分担master的任务

3. 任务分离,如从服务分别分担备份工作与计算工作

4.

①:cp redis.conf redis210.conf
②:cp redis.conf redis211.conf

③:pkill -9 redis

④:vim redis.conf   修改配置文件
--slave1配置
pidfile /var/run/redis211.pid
    port 8031
    dbfilename dump211.rdb //快照(很浪费io,所以一台有rdb)
    slaveof localhost 8030 //作为8030的slave,也就是8030端口为master slaveof <masterip> <masterport>
    slave-read-only yes //只读
     --slave2配置
    pidfile /var/run/redis212.pid
    port 8032
    #save 900 1 //注释三个save是为了取消使用rdb
    #save 300 10
    #save 60 3000
    appendonly no //关闭aof(日志持久化)
    slaveof localhost 8030
    --master配置
    #save 900 1 //注释三个save是为了取消使用rdb
    #save 300 10
    #save 60 3000 ⑤:
  ./bin/redis-server redis.conf
  ./bin/redis-server redis211.conf
  ./bin/redis-server redis212.conf ⑥:测试
  ./bin/redis-cli //先链接主服务器
    set title an
  ./bin/redis-cli -p 8031 //链接8031 redis服务器
    get title
    --set pic //因为只读所以报错 ⑦:master设置连接密码:requirepass passwd
  slave设置连接master的密码:masterauth passwd ⑧:auth passwd ⑨:pkill -9 redis 杀掉redis进程 ⑩:bind:可以绑定允许访问数据库的地址,只能绑定一个地址 ⑪ ⑬⑫

5. 主从复制缺陷

  每次slave断开后(无论是主动断开,还是网络故障等)再连接master,都要master全部dump出来rdb,再aof,即同步的过程都要重新执行1遍,所以要记住,多台slave不要一下启动起来,否则master可能IO剧增。

    

redis事务和redis集群的更多相关文章

  1. 分布式缓存技术redis学习系列(四)——redis高级应用(集群搭建、集群分区原理、集群操作)

    本文是redis学习系列的第四篇,前面我们学习了redis的数据结构和一些高级特性,点击下面链接可回看 <详细讲解redis数据结构(内存模型)以及常用命令> <redis高级应用( ...

  2. redis + 主从 + 持久化 + 分片 + 集群 + spring集成

    Redis是一个基于内存的数据库,其不仅读写速度快,每秒可以执行大约110000的写操作,81000的读取操作,而且其支持存储字符串,哈希结构,链表,集合丰富的数据类型.所以得到很多开发者的青睐.加之 ...

  3. 分布式缓存技术redis学习(四)——redis高级应用(集群搭建、集群分区原理、集群操作)

    本文是redis学习系列的第四篇,前面我们学习了redis的数据结构和一些高级特性,点击下面链接可回看 <详细讲解redis数据结构(内存模型)以及常用命令> <redis高级应用( ...

  4. 分布式缓存技术redis系列(四)——redis高级应用(集群搭建、集群分区原理、集群操作)

    本文是redis学习系列的第四篇,前面我们学习了redis的数据结构和一些高级特性,点击下面链接可回看 <详细讲解redis数据结构(内存模型)以及常用命令> <redis高级应用( ...

  5. redis高级应用(集群搭建、集群分区原理、集群操作)

    文章主目录 Redis集群简介 Redis集群搭建 Redis集群分区原理 集群操作 参考文档 本文是redis学习系列的第四篇,前面我们学习了redis的数据结构和一些高级特性,点击下面链接可回看 ...

  6. Shiro经过Redis管理会话实现集群(转载)

    原文:http://www.myexception.cn/software-architecture-design/1815507.html Shiro通过Redis管理会话实现集群 写在前面 1.在 ...

  7. Redis(十)集群:Redis Cluster

    一.数据分布 1.数据分布理论 2.Redis数据分区 Redis Cluser采用虚拟槽分区,所有的键根据哈希函数映射到0~16383整数槽内,计算公式:slot=CRC16(key)&16 ...

  8. 一文掌握Redis的三种集群方案

    在开发测试环境中,我们一般搭建Redis的单实例来应对开发测试需求,但是在生产环境,如果对可用性.可靠性要求较高,则需要引入Redis的集群方案.虽然现在各大云平台有提供缓存服务可以直接使用,但了解一 ...

  9. Redis 3.0 Cluster集群配置

    Redis 3.0 Cluster集群配置 安装环境依赖 安装gcc:yum install gcc 安装zlib:yum install zib 安装ruby:yum install ruby 安装 ...

  10. Redis 3.0.2集群搭建以及相关问题汇总

    Redis3 正式支持了 cluster,是为了解决构建redis集群时的诸多不便 (1)像操作单个redis一样操作key,不用操心key在哪个节点上(2)在线动态添加.删除redis节点,不用停止 ...

随机推荐

  1. Node.Js安装教程

    Node.Js安装教程 介绍下我的环境 环境 值 操作系统 win10 64bit Node.Js 8.9.4 emmmm 表格中毒了,为什么出不来效果 一.下载及安装 这个可以去Node.Js官网上 ...

  2. Spring -- aop, 用Aspectj进行AOP开发

    1. 概要 添加类库:aspectjrt.jar和aspectjweaver.jar 添加aop schema. 定义xml元素:<aop:aspectj-autoproxy> 编写jav ...

  3. NumPy排序、搜索和计数函数

    NumPy - 排序.搜索和计数函数 NumPy中提供了各种排序相关功能. 这些排序函数实现不同的排序算法,每个排序算法的特征在于执行速度,最坏情况性能,所需的工作空间和算法的稳定性. 下表显示了三种 ...

  4. shell read

    #!/bin/bash read -p "Enter your account:" acct #提示用户输入用户名read -s -p "Enter your passw ...

  5. yii2:如果获取config/web.php配置的值?

    return [ 'version' => '1.0.1', 'category-map' => [ 1 => '样式1', 2 => '样式2', 3 => '样式3' ...

  6. IOS-SQLite数据库使用详解

    使用SQLite数据库 创建数据库 创建数据库过程需要3个步骤: 1.使用sqlite3_open函数打开数据库: 2.使用sqlite3_exec函数执行Create Table语句,创建数据库表: ...

  7. [6644] 02 Apr 23:11:58.976 # Creating Server TCP listening socket *:6379: bind: No such file or directory

    redis报错: [6644] 02 Apr 23:11:58.976 # Creating Server TCP listening socket *:6379: bind: No such fil ...

  8. poi自定义颜色设置(转)

    原文链接  http://javapolo.iteye.com/blog/1604501 最近在项目的开发中使用到了apache poi,该组件可以让我们方便的操作excell,该工具非常容易上手,但 ...

  9. 【python】windows下安装xgboost的python库

    傻瓜教程 主要参考了https://www.hongweipeng.com/index.php/archives/826/  和 https://github.com/dmlc/xgboost/iss ...

  10. [置顶] C语言学习入门

    编译文件:cc -c one.c two.c  生成.o目标文件 链接文件:cc one.o two.o     默认生成 a.out 执行文件 指定生成的可执行文件名   cc -o one one ...