一、事务(相对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剧增。

    

最新文章

  1. 百度云管家 5.3.6 VIP破解不限速版下载分享|百度云管家破解提速
  2. 开始学CI
  3. iOS开发-代理模式
  4. PLSA中的EM算法
  5. POJ_3045_Cow_Acrobats_(贪心)
  6. latch free
  7. ios开发之代理&amp;&amp;协议
  8. maven配置全局的jdk和配置局部的jdk
  9. mapreduce项目中加入combiner
  10. 如何阅读jdk源码?
  11. Object is not a function
  12. EasyUI在window中使用kindeditor 4.1.10在IE9中不能回显、获得焦点编辑的问题
  13. Python全栈之路----流程控制+循环
  14. 从实践出发:微服务布道师告诉你Spring Cloud与Spring Boot他如何选择
  15. VS2012打开项目——已停止工作
  16. ISO七层协议
  17. 前端图片压缩(纯js)
  18. PHPCMS V9 SQL查询篇
  19. 上传app store 应用指南链接--2
  20. EL运算符(web基础学习笔记十七)

热门文章

  1. Sqoop-将Hive ORC表导出到MySQL
  2. VMware Workstation 12 增加磁盘容量 Windows Server 2012 系统 扩展
  3. Spark- 使用第三方依赖解析IP地址
  4. numpy 矩阵归一化
  5. 不要忘了 :focus 和 :active!
  6. Asp.net使用powershell管理hyper-v
  7. js的onclick字符串参数的解决办法
  8. Stylus的基础用法
  9. 兄弟ifream的方法调用
  10. Visual Studio Nuget还原步骤