Redis学习---03

news2024/11/27 22:34:38

一、redis事务

(1) Redis单条命令保证原子性,但事务不保证原子性

Redis 事务不是严格意义上的事务,只是用于帮助用户在一个步骤中执行多个命令。单个 Redis 命令的执行是原子性的,但 Redis 没有在事务上增加任何维持原子性的机制,所以 Redis 事务的执行并不是原子性的。

(2) Redis没有隔离性的概念,只有发起执行命令的时候才会执行。

(3) 一个事务从开始到执行会经历以下三个阶段:

  • 开始事务。
  • 命令入队。
  • 执行事务。

(4) 事务执行命令:

MULTI、EXEC、DISCARD、WATCH 这四个指令构成了 redis 事务处理的基础。

  1. MULTI 用来组装一个事务;
  2. EXEC 用来执行一个事务;
  3. DISCARD 用来取消一个事务;
  4. WATCH 用来监视一些 key,一旦这些 key 在事务执行之前被改变,则取消事务的执行。

(5) 事务异常:

有关事务,大家经常会遇到的是两类错误:(1)语法错误(2)运行时错误,操作错误 1 / 0

  1. 调用 EXEC 之前的错误
  2. 调用 EXEC 之后的错误

单条命令错误,不会影响整体的操作;这就是redis不保证原子性。、

(6):redis==>乐观锁

悲观锁:认为什么时候都会出问题,什么时候都会加锁;

乐观锁:认为什么时候都不会出现问题,所以不会加锁;

watch:加锁;

unwatch:解锁

1) Redis使用watch去监控,一旦有其他的线程修改当前的变量,就会导致,事务操作失败!

2) Java中数据库使用version进行监控!  实现乐观锁!

3) 事务提交失败后,先解锁(unwatch)再获取最新的值,然后进行加锁(watch)。

二、Jredis(在SpringBoot2.0以上的版本弃用了);

(1)依赖:(后补)

Jredis  jredis =new Jredis('ip',端口)

(2) 测试

(3) 开启事务

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/537906.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

STL好难(2):string类的使用

【本节目标】 1. 标准库中的string类2. string类的模拟实现3. 扩展阅读 目录 【本节目标】 1.标准库中的string类 2. string类对象的常见构造 🍉无参构造 🍉带参构造 🍉拷贝构造 🍉用n字符 # 去初始化 🍉用字…

二进制部署高可用Kubernetes集群

SUMMARY 架构图 设备规划 序号名字功能VMNET 1备注 1备注 2备注 3 备注 4备注 50orgin界面192.168.164.10haproxykeepalived192.168.164.2001reporsitory仓库192.168.164.16yum 仓库registoryhaproxykeepalived2master01H-K8S-1192.168.164.11kube-apicontrollerscheduler…

约瑟夫问题及求解方法

文章目录 什么是约瑟夫问题?求解方法代码实现 什么是约瑟夫问题? 约瑟夫问题是一个经典的数学难题,其一般形式可以描述为: n个人(编号从1到n),围坐在一张圆桌周围。从第一个人开始报数&#x…

chatgpt赋能Python-mac系统的python

在Mac系统上运行Python:一个简介 介绍 Python是一种流行的、易于学习的编程语言,被广泛用于各种用途,从数据分析到机器学习。如果您是Mac用户,那么您已经安装了Python,因为它是系统的一部分。本文将介绍如何在Mac系统…

Web基础 ( 五 ) JavaScript BOM

4.4.BOM浏览器对象模型 window代表窗体, 内置多种对象, 每种对象包含多种方法及属性 4.4.1.location 地址栏 window.location.href "url"; // 当前窗口加载指定的页面location.reload(); //刷新4.4.2.history 访问历史记录 window.history.back(); // 返回上一…

搞一搞用例图

前言 基于公司技术方案的设计比较重视用例图,重新学习一下相关内容。用例要说明参与者与用例之间的关系,那么对用例图相关要点进行梳理 用例图的定义及组成要素用例图的4种关系常用的用例图软件 定义与组成 用例图核心作用是将系统需求和参与者之间的…

DEJA_VU3D - Cesium功能集 之 110-椭圆(标绘+编辑)

前言 编写这个专栏主要目的是对工作之中基于Cesium实现过的功能进行整合,有自己琢磨实现的,也有参考其他大神后整理实现的,初步算了算现在有差不多实现小140个左右的功能,后续也会不断的追加,所以暂时打算一周2-3更的样子来更新本专栏(每篇博文都会奉上完整demo的源代码…

【手撕红黑树】

前言 相信很多人初学者听到了红黑树后心中不免有些心慌,那你看到了这篇文章后相信会有所收获,我其实刚开始也是对红黑树抱着一种害怕甚至是恐惧,但是在老师的帮助下也终于慢慢的不在恐惧了,你想知道为什么的话就继续往下看吧。&am…

【C,C++】内存管理new和delete

内存管理 前言正式开始几道热身题C语言动态内存管理方式C内存管理new/delete操作内置类型new和delete对于内置类型new开辟失败 operator new与operator delete函数new和delete的实现原理内置类型自定义类型 定位new表达式面试常考:malloc/free和new/delete的区别 前…

板子短路了?

有段时间没更新了,主要是最近有点忙,当然也因为有点“懒”。 做这行业的都知道,下半年都是比较忙的,相信大家也是! 相信做硬件的小伙伴们,遇到过短路的板子已经不计其数了。 短路带来的危害:…

关于单目视觉 SLAM 的空间感知定位技术的讨论

尝试关于单目视觉 SLAM 的空间感知定位技术的学习,做以调查。SLAM算法最早在机器人领域中提出,视觉SLAM又可以分为单目、双目和深度相机三种传感器模式,在AR应用中通常使用轻便、价格低廉的单目相机设备。仅使用一个摄像头作为传感器完成同步…

Web基础 ( 四 ) JavaScript 介绍

4.JavaScript 4.1.概念 4.1.1.什么是JavaScript 通过浏览器中内置的解析器,逐行解析执行的一种脚本语言 主要是处理系统使用者的行为逻辑的 4.1.2.与Java语言的比较 代码格式不同 ​ Java与HTML无关的格式 ​ JavaScript代码是一种文本字符格式,可…

chatgpt赋能Python-numpy归一化函数

介绍:numpy归一化函数 在数据处理和分析中,常常需要将数据归一化到一定范围内,以便于不同数据之间进行比较和处理。在Python的数据科学方面,numpy库是非常常用的工具之一,其中的归一化函数非常便捷和有效。 在这篇文…

如何快速入门 Java?

在一线互联网公司做开发 13 年了,“精通”Java,“吊打”一众面试官,如何快速入门 Java,对我来说简直就是小儿科,相信看完后你一定能收获满满、醍醐灌顶,今年秋招拿下阿里、美团等互联网大厂的 offer。 逼装…

django ORM框架 第二章 表与表的关系关联表

目录 一、表的几种关联关系 1.1 一对一 1、介绍: 2、举例 3、建表原则: 4、django ORM 框架实现 一对一 的表的创建 1.2 一对多 1、介绍: 2、举例 3、建表原则: 4、django ORM 框架实现 一对多 的表的创建 1.3 多对多 1…

汇编八、汇编控制静态数码管显示数字

1、实现目标 通过汇编语言,实现单个静态数码管依次循环显示0~9。 2、数码管 2.1、数码管外观 2.2、数码管工作原理 (1)数码管的亮灭是由内部LED的亮灭实现的。 (2)一位数码管内部有八颗LED灯,利用内部的LED灯的亮和灭让数码管显示不同的数字。 3、…

chatgpt赋能Python-mac怎么用python

Mac如何使用Python:从入门到实践 简介 Mac操作系统上的Python开发环境非常受欢迎,因为它是一种优雅的编程语言,具有良好的可读性,可以轻松处理不同类型的任务,包括网站开发、机器学习和数据分析等领域。本文将介绍如…

干外包3年,彻底寄了...

先说一下自己的情况,大专生,18年通过校招进入湖南某软件公司,干了接近6年的功能测试,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了6年的功能测试&…

瑞吉外卖 - 删除分类功能(13)

某马瑞吉外卖单体架构项目完整开发文档,基于 Spring Boot 2.7.11 JDK 11。预计 5 月 20 日前更新完成,有需要的胖友记得一键三连,关注主页 “瑞吉外卖” 专栏获取最新文章。 相关资料:https://pan.baidu.com/s/1rO1Vytcp67mcw-PD…

chatgpt赋能Python-minhash_python

MinHash Python算法:优化大数据处理和搜索引擎 在如今互联网化和其他技术转型的时代,SEO已经成为许多企业和个人的必要条件。SEO方法(搜索引擎优化)一直在不断的发展,MinHash算法是其中之一。本篇文章将会介绍MinHash算法和它在Python中的实…