Redis学习笔记(2)——B站动力节点

008- redis的事务

8.1 介绍

在这里插入图片描述

8.2 常用命令

(1)multi

在这里插入图片描述

(2)exec

在这里插入图片描述

(3)discard

在这里插入图片描述

(4)watch

在这里插入图片描述

(5)unwatch

在这里插入图片描述

8.3 小结

在这里插入图片描述

009- redis消息的发布与订阅(了解)

在这里插入图片描述
在这里插入图片描述


在这里插入图片描述在这里插入图片描述


在这里插入图片描述

010- redis的主从复制

10.1 介绍

主库master负责写数据 从库slave负责读数据
主库读完数据之后 将数据复制到从库
这样可以提高效率

主机数据更新后根据配置和策略,自动同步到从机的master/slave机制,Master以写为主,Slave以读为主。

在这里插入图片描述

10.2 搭建一主二从

这里就看视频吧

在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述


17、redis的主从复制:主少从多、主写从读、读写分离、主写同步复制到从。
   搭建一主二从redis集群:
   1)、搭建三台redis服务:使用一个redis模拟三台redis服务
       提供三分redis配置文件:redis6379.conf、redis6380.conf、redis6381.conf
           修改三份配置文件:以redis6379.conf为例
	         bind 127.0.0.1
	         port 6379
	         pidfile /var/run/redis_6379.pid
			 logfile "6379.log"
			 dbfilename dump6379.rdb
      分别使用三个redis配置文件,启动三个redis服务:
           redis-server redis6379.conf &
		   redis-server redis6380.conf &
		   redis-server redis6381.conf &
   2)通过redis客户端分别连接三台redis服务:
        redis-cli -h 127.0.0.1 -p 6379
		redis-cli -h 127.0.0.1 -p 6380
		redis-cli -h 127.0.0.1 -p 6381
   3)查看三台redis服务在集群中的主从角色:
        info replication
	默认情况下,所有的redis服务都是主机,即都能写和读,但是都还没有从机。
   4)先在6379进行写操作:
        set k1 v1
     三台rdis服务互相独立,互不影响。
   5)设置主从关系:设从不设主
     在6380上执行:slaveof 127.0.0.1 6379
     在6381上执行:slaveof 127.0.0.1 6379
   6)全量复制:一旦主从关系确定,会自动把主库上已有的数据同步复制到从库。 
     在6380和6381上执行:keys *
   7)增量复制:主库写数据会自动同步到从库。
     在6379上执行:set k2 v2
     在6380和6381上执行:keys *
   8)主写从读,读写分离: 
     在6380和6381上执行:set k3 v3  ===>报错
   9)主机宕机、从机原地待命:
     关闭6379服务:redis-cli -h 127.0.0.1 -p 6379 shutdown

     查看6380和6381服务的主从角色:info replication
   10)、主机恢复、一切恢复正常:
     重启6379服务:redis-server redis6379.conf &
     客户端连接6379:redis-cli -h 127.0.0.1 -p 6379
   11)、从机宕机、主机少一个从机、其它从机不变:
     关闭6380服务: redis-cli -h 127.0.0.1 -p 6380 shutdown

     查看6379服务的主从角色:info replication
     查看6381服务的主从角色:info replication
   12)、从机恢复、需要重新设置主从关系:
     重启6380服务:redis-server redis6380.conf &
     客户端连接6380:redis-cli -h 127.0.0.1 -p 6380

     在6380上执行: slaveof 127.0.0.1 6379
   13)、从机上位:
     a)主机宕机、从机原地待命:
       关闭6379服务:redis-cli -h 127.0.0.1 -p 6379 shutdown
       查看6380和6381服务的主从角色:info replication
     b)从机断开原来主从关系:
       在6380上执行:slaveof no one
       查看6380服务的主从角色:info replication
     c)重新设置主从关系:
       在6381上执行:slaveof 127.0.0.1 6380
     d)之前主机恢复、变成孤家寡人:
       重启6379服务:redis-server redis6379.conf &
       客户端连接6379:redis-cli -h 127.0.0.1 -p 6379
     e)天堂变地狱:
       在6379上执行:slaveof 127.0.0.1 6381
       在6381上执行:info replication   既是主机又是从机
  
  小结:一台主机配置多台从机,一台从机又可以配置多台从机,从而形成一个庞大的集群架构。
        减轻一台主机的压力,但是增加了服务间的延迟时间。

10.3 复制原理

(1)全量复制

在这里插入图片描述

(2)增量复制

在这里插入图片描述

10.4 哨兵模式

在这里插入图片描述

18、redis哨兵模式:主机宕机、从机上位的自动版。
    1)搭建一主二从集群架构:(17节前五步)
    2)提供哨兵配置文件:
      在redis安装目下创建配置文件:redis_sentinel.conf
      sentinel monitor dc-redis 127.0.0.1 6379 1
    3)启动哨兵服务:
      redis-sentinel redis_sentinel.conf
    4)主机宕机:
      关闭6379服务:redis-cli -h 127.0.0.1 -p 6379 shutdown
      哨兵程序自动选择从机上位。
    5)之前主机恢复:自动从属于新的主机。
      重启6379服务:redis-server redis6379.conf &
      客户端连接6379:redis-cli -h 127.0.0.1 -p 6379

10.5 小结

在这里插入图片描述

011- Jedis操作Redis

19、java操作redis数据库:
	jedis是redis官方提供的操作redis数据的技术。
    把所有的redis指令都定义成java工具类的方法,方法名和redis的指令名完全一样;
    开发通过程序访问redis,只需要使用工具类及其方法即可。

在这里插入图片描述


在java程序中访问redis:

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

1)创建maven版的webapp工程

2)添加jedis依赖
   <dependency>
     <groupId>redis.clients</groupId>
     <artifactId>jedis</artifactId>
     <version>3.1.0</version>
   </dependency>
 
3)创建Jedis连接
*关闭linux的防火墙

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述


在这里插入图片描述在这里插入图片描述在这里插入图片描述


在这里插入图片描述

012- redis的客户端连接工具

就像mysql一样 可以使用navicat
redis也有类似navicat一样的东西:
	但是对于redis,用不用可视化界面没有区别

在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/m0_52041525/article/details/125854985