3.reids的栈、队列、事务、主从复制命令窗口的操作以及java代码的实现

1.创建reidsConfig
在这里插入图片描述
1.定制RedisTemplate对象在这里插入图片描述
1.Jt-template中添加如下依赖、web依赖中包含RedisTemplate对象
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
1.objectMaspper对象设置相应的属性
在这里插入图片描述

1.设置redisTemplate的序列化
在这里插入图片描述
在这里插入图片描述

1.自定义redstTemplate序列化之后的结果
(1)Java控制台输出的结果
在这里插入图片描述

(2)Reids控制面板输出的结果
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.测试testStringOper02方法、get(“blog”)方法返回LinkedHashMap类型的数据
在这里插入图片描述
1.TestStringOper02输出的结果如下
在这里插入图片描述
在这里插入图片描述
1.map类型的数据转化为json串、然后通过readValue()读取数据、进行输出
2.New Blog()时触发含参构造
3.Get(“blog”)时触发有参构造
在这里插入图片描述
1.输出结果如图所示
在这里插入图片描述

1.ObjectMapper.enableDefaultTyping()调用此方法、作用如下
在这里插入图片描述

(1)反序列化时、get(“blog”)的方式获取结果、返回是Blog对象
在这里插入图片描述
(1)redisTemplate.setKeySerizlizer、reidsTemplate.setValue…修改bean特性需要调用
afterPropertiesSet方法
在这里插入图片描述
1.PropertyAccessor.Getter、作用:通过所有get方法获取所有属性以及值
在这里插入图片描述
(1)如果blog这个实体类id属性、没有get方法则在RedisTemplateTest、get(“blog”)进行反序列化时、则获取不到id的值输出结果如下
在这里插入图片描述
(2)objectMapper.activateDefaultTyping()方法、如果RedisTplateTests类被final修饰则访问结果出错。
在这里插入图片描述
在这里插入图片描述
1.Vim reids.conf编辑reids.conf
在这里插入图片描述

  1. “save 900 1”表示如果900秒内至少1个key发生变化(新增、修改和删除),则重写rdb文件;
  2. “save 300 10”表示如果每300秒内至少10个key发生变化(新增、修改和删除),则重写rdb文件;
  3. “save 60 3600”表示如果每60秒内至少10000个key发生变化(新增、修改和删除),则重写rdb文件。

在这里插入图片描述

1.连接reids-server后清空reids中的所有数据
在这里插入图片描述
1.删除宿主机中的dump.rdb文件
在这里插入图片描述
1.reids中添加数据
在这里插入图片描述
(1)添加数据后生成dump.rdb文件
在这里插入图片描述
在这里插入图片描述
(1)SAVE 和 BGSAVE 两个命令都会调用 rdbSave 函数,但它们调用的方式各有不同:
①SAVE 直接调用 rdbSave ,阻塞 Redis 主进程,直到保存完成为止。在主进程阻塞期间,服务器不能处理客户端的任何请求。
②BGSAVE 则 fork 出一个子进程,子进程负责调用 rdbSave ,并在保存完成之后向主进程发送信号,通知保存已完成。 Redis 服务器在BGSAVE 执行期间仍然可以继续处理客户端的请求。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
1.清空缓存中的数据
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.以下是模拟断电的效果

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
1.断电效果数据为空
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
1.Vim reids.conf编辑reids.conf文件
在这里插入图片描述
1.Appendonly yes 开启Aof持久化方式
在这里插入图片描述
1.Appendfsync always写一次缓存、就会写一次磁盘
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
1.vim reids.conf编辑reids.conf文件
在这里插入图片描述
1.appendfsync always、每一次写缓存操作就会写入磁盘
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
1.重启reids01容器
在这里插入图片描述
1.Docker exec -it reids01 reids-cli连接reids-server
2.Set aa 100 设置 aa=100
在这里插入图片描述
1.查看data目录生成appebdonly.aof文件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
1.Multi开启事务、
2.descrby tony 100 对tony中的变量减100的操作
3.Inscrby jack 对jack中的变量加100的操作
4.exec提交事务的操作
在这里插入图片描述
1.Mget tony jack查看修改后的数据
在这里插入图片描述
1.所有指令操作进入到队列
在这里插入图片描述
1.Abcd如果指令错误、事务不会提交
在这里插入图片描述
1.事务进行乐观锁的操作
(1)Get ticket获取变量的数据
(2)Ticket对该变量做减法操作
在这里插入图片描述
在这里插入图片描述
1.Jedis操作reids事务
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
1.运行jedis操作的事务方法、得出以下结果
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.运行jedis操作的事务方法、得出以下结果
2.如果出现事务和事务提交中有错、则事务不能提交
在这里插入图片描述
1.Cp -r reids01/reids02复制多个reids镜像、实现master/slaver主从架构
在这里插入图片描述
在这里插入图片描述
1.第一个reids镜像:Docker run -p 6379:6379实现端口的映射和宿主机和redis目录的挂载
在这里插入图片描述
2.第二个reids镜像:Docker run -p 6380:6379实现端口的映射和宿主机和redis目录的挂载
在这里插入图片描述
3.第三个reids镜像:Docker run -p 6381:6379实现端口的映射和宿主机和redis目录的挂载
在这里插入图片描述
1.查看reids 6379这个镜像是主master/还是从slave
在这里插入图片描述
在这里插入图片描述
1.Docker inspect redis6379查看这个reids的ip
在这里插入图片描述
1.Docker exec -it reids6380 reids-cli进入reids6380服务
2.slaveof 172.17.0.4 6379
3.6380设置为6379的master分支
在这里插入图片描述
4.Docker exec -it reids6381 reids-cli进入reids6381服务
5.slaveof 172.17.0.4 6379
6.6381设置为6379的master分支
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
1.Docker exec -it reids6380 打开从分支
2.Docker exec -it reids6380 接入从分支、只能读取数据、不能设置数据
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值