华为云云耀云服务器L实例评测|使用redis事务和lua脚本

news2024/12/23 8:00:32

请添加图片描述

文章目录

  • 云服务器的类型
  • 云服务优点
  • redis
    • 一,关系型数据库(sqlserver,mysql,oracle)的事务隔离机制说明:
    • redis事务机制
  • lua
    • lua脚本好处:
    • 一,怎么在redis中使用lua脚本
    • 二,脚本内容比较多,我们可以创建一个脚本文件。把脚本内容写入文件中。
    • 三,脚本文件上传到redis中,然后仍然在交换模式中执行这个脚本。

云服务器的类型

云服务器类型分为三种:公有云服务器,私有云服务器,专用云服务器

公有云服务器:公有云服务器具有成本效益、弹性扩展、可靠性、高可用性、管理简便、安全性、全球化服务和技术支持等优势,适用于各种规模和类型的企业和个人需求。

私有云服务器:私有云服务器是一种用于构建和管理私有云环境的服务器。它可以提供类似于公有云的弹性计算、存储和网络资源,但是这些资源完全掌控在用户自己的控制下。私有云服务器可以部署在用户自己的数据中心。使用私有云服务器可以满足一些特定需求,例如企业有对数据安全性和隐私性的特别要求,对公有云环境不太适应。

专用云服务器:专用云服务器提供了许多优势,包括更高的性能和可扩展性、更高的安全性和隐私性,以及更大的灵活性和控制权。客户可以根据自己的需求自定义和管理专用云服务器,包括操作系统、应用程序和网络配置等。

云服务优点

  • 成本效益:云服务允许企业根据需求动态地增加或减少计算资源,避免过度投资设备和维护费用,降低运营成本。
  • 易于管理和维护:云服务提供商通常具有强大的技术团队和经验,可以为企业提供技术支持和维护服务,减轻企业管理和维护负担。
  • 灵活性和可扩展性:在云计算环境中,资源是按需分配的,企业可以根据需要随时添加或删除计算资源,以适应业务增长或下降的需要。
  • 安全性:云服务提供商通常具有专门的安全措施来保护用户的数据和隐私,例如备份、加密、网络隔离等,同时由于云计算服务集中在一个地方,采取统一的安全措施能够更有效地保护企业的数据安全。
  • 全球化服务:云服务提供商在全球范围内建立了多个数据中心,可以提供全球化的服务,满足用户在不同地域的业务需求,实现全球范围内的数据传输和访问。
  • 技术支持:云服务提供商通常提供全天候的技术支持和服务,用户可以随时获得专业的帮助和解决方案,提高了用户使用公有云服务器的便利性和可靠性。

redis

一,关系型数据库(sqlserver,mysql,oracle)的事务隔离机制说明:

下面是设置mysql数据库事务隔离机制的sql语句
set global transaction isolation level read uncommitted;
下面是事务隔离的几个机制:

  1. read uncommitted(读取未提交的数据)
    缺点:如果数据最终rollback了,那么读取的数据就错误了
  2. read committed(读取已提交的数据)
    缺点:如果在一个事务中,对通过一个数据进行了多次的读取。在多次读取的过程中,有人提交数据。那么多次读取的数据结果就会出现不一致
  3. repeatable read(重复读)
    缺点:会出现幻读
  4. serializable(串行)
    缺点:太慢

redis事务机制

  1. MULTI与EXEC命令
    以MULTI开始一个事务,然后将多个命令入队到事务中,最后由EXEC命令触发事务,一并执行事务中的所有命令
  2. DISCARD命令
    DISCARD命令用于取消一个事务,她清空客户端的整个事务队列,然后将客户端从事务状态调整回非事务状态,最后返回字符串OK给客户端,说明事务已被取消。

乐观锁:一个版本控制 update table set age=13 where v=1
悲观锁:

  1. WATCH(类似乐观锁)
    WATCH命令用于在事务开始之前监视任意数量的键:当调用EXEC命令执行事务时,如果任意一个被监视的键已经被其他用户端修改了,那么整个事务不再执行,直接返回失败。

例子一:这个例子中没有出现异常,所以所有的命令都成功了。
在这里插入图片描述
例子二:这个例子中,在事务开启后,有一个命令执行出错了,那么所有的命令都不会执行
在这里插入图片描述
例子三:这个例子中出现了两个事务,两个事务都表示自己执行成功了,但是有一个发现值并不是自己设置的,被别人覆盖了。
请添加图片描述
例子四:加上Wathch age后,再来执行事务。
左边的在开启事务之后,exec执行之前,右边有另外一个事务对age进行改进。那么左边的事务将执行失败请添加图片描述

lua

lua脚本好处:

  • 减少网络开销。可以将多个请求通过脚本的形式一次发送,减少网络时延。
  • 原子操作。redis会将整个脚本作为一个整体执行,中间不会被其他命令插入。因此在编写脚本过程中无需担心会出现竟态条件,无需使用事务。
  • 复用。客户端发送的脚本会永久存在redis中,这样,其他客户端可以复用这一变量类型,声明变量。控制语句,循环语句。函数

一,怎么在redis中使用lua脚本

命令格式:
EVAL script numkeys key [key…] arg [arg…]
说明:

  • script 是第一个参数,为lua5.1脚本。该脚本不需要定义Lua函数(也不应该)
  • 第二个参数numkeys指定后续参数有几个key
  • key [key…],是要操作的键,可以指定多个,在lua脚本中通过KEYS[1],KEYS[2]获取
  • arg [age…],参数,在lua脚本中通过ARGV[1],ARGV[2]获取。

使用eval命令 简单示例:

eval "return ARGV[1]" 0 100

在这里插入图片描述

eval "return {ARGV[2],ARGV[1]}" 0 100 200

在这里插入图片描述

eval "return {KEYS[1],KEYS[2],ARGV[1],ARGV[2]}" 2 key1 key2 first second

在这里插入图片描述
上面是使用EVAL命令执行lua脚本的简单示例,没有和redis结合起来。
下面我们使用redis.call来执行redis的命令。
说明:…是字符串连接符。local是声明一个局部变量

eval 'local val = ARGV[1].." "..redis.call("get",KEYS[1]) return val' 1 age niuniu

二,脚本内容比较多,我们可以创建一个脚本文件。把脚本内容写入文件中。

注意:

  • 这里执行脚本文件,不是在交互模式下执行的。
    先创建一个脚本文件,在/home目录下
# touch test01.lua

通过vi命令,把脚本内容写进去
在这里插入图片描述
执行找个脚本,注意,前后的空格
在这里插入图片描述

# ./redis-cli -a 123456 --eval /usr/local/src/redis6/lua/test01.lua age , xiaolin

三,脚本文件上传到redis中,然后仍然在交换模式中执行这个脚本。

上传脚本,返回一个hash值,f52a1be1e0dc6ce2813d1890a39dc993cab5527b
在这里插入图片描述
在交换模式中,使用EVALSHA命令执行脚本

EVALSHA f52a1be1e0dc6ce2813d1890a39dc993cab5527b 1 age xiaozh

在这里插入图片描述

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

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

相关文章

vue3前端开发系列 - 项目框架搭建篇

文章目录 1. 项目初始化1.1 项目目录结构1.2 相关组件列表1.3 创建项目 2. 重置样式表3.设置路径别名4. 设置环境变量5.状态存储(Pinia)5.1 安装插件5.2 配置5.3 用户信息案例5.3.1 状态存储设置5.3.2 使用用户信息 6. 路由设置(Router)6.1 安装路由插件6.2 配置路由 7. 安装el…

光耦合器继电器与传统继电器:哪种最适合您的项目?

在电子和电气工程领域,继电器的选择可以显着影响项目的性能和安全性。两种常见类型的继电器是光耦合器继电器和传统机电继电器。每个都有其优点和缺点,因此选择过程对于项目的成功结果至关重要。 光耦合器继电器:基础知识 光耦合器继电器&…

亚运之后,AI如何实现保障普通人的运动安全?

刚刚结束的2023年杭州亚运会带动了一波全民运动热潮。481个运动项目中,篮球、游泳、羽毛球、滑板等运动项目早已融入到普通人的日常生活中,这些运动不仅可以帮助人们增强身体素质,还可以提高心理健康水平,减轻压力和焦虑&#xff…

MacOS Pro笔记本硬盘升级纪实

背景 MacPro 2015 mid的苹果本,忽然心血来潮想升级一下SSD。三个步骤:做启动盘,时间机器备份,插新的SSD盘恢复。 过程 下载MacOS,macOS Monterey 12.7官方原版镜像: https://swcdn.apple.com/content/do…

【产品】智能结构仿真软件AIFEM 2023R2新版本功能介绍

AIFEM是由天洑自主研发的一款通用的智能结构仿真软件,助力用户解决固体结构相关的静力学、动力学、振动、热力学等实际工程问题,软件提供高效的前后处理工具和高精度的有限元求解器,帮助用户快速、深入地评估结构的力学性能,加速产…

mysql case when 不命中缓存

case when 在sql 中非常方便数据不同维度统计,但是也会出现mysql 索引不命中问题,当多个case 出现时,需要提取出来到where里面优化 优化后 SELECT date(RecordTime) AS date, count( DISTINCT CASE WHEN Param 1 …

Java基于SpringBoot+Vue的考研资讯平台

1 简介 大家好,我是程序员徐师兄,今天为大家带来的是Java基于SpringBootVue的考研资讯平台 Java基于SpringBoot的考研资讯平台,在系统当中学生可以根据不同的信息来实现该网站的考研资讯平台信息的管理。 系统主要分为前台和后台。主要包括…

linux之cpu模拟负载程序

工作中我们经常会遇到这样的问题,需要模拟cpu的负载程序,例如模拟cpu占有率抬升10%、20%、50%、70%等,那这样的程序应该如何实现呢?它的原理是什么样的呢? 思想 创建一个应用程序,该应用程序的作用可以根…

如何实现制造业信息化转型?

一、制造业信息化历史 (1)1930年代 库存控制、管理 当时计算机系统尚未出现,人们为了解决库存管控的难题,提出了订货点法——当库存量降低到某一预先设定的点时,即开始发出订货单补充库存,直至库存量降低…

git删除文件

qt中点击删除文件后,不要从git版本控制中删除此文件 git rm test.txt 然后git add,git commit-m""

PLSQL下载并安装

官方下载连接:https://www.allroundautomations.com/registered-plsqldev/ 我们这边下载12.0.7版本 别忘了一起下载中文安装包 下载完全部安装一下 产品编号Product Code: kfj6yg6rfyhqcha6cbgs6fsw3kyje7a6qr 序列号Serial Number: 276182 口令Password: xs374c…

Linux简单磁盘命令

查看磁盘总站用量:df -h 查看当前目录的子目录磁盘占用情况: du -sh ./*

【高等数学】极限(下)(最全万字详解)

文章目录 极限(上)超链接5、极限存在法则5.1、夹逼准则5.1.1、数列夹逼准则5.1.2、函数夹逼准则5.1.3、第一重要极限 5.2、单调有界准则5.2.1、第二重要极限 6、函数的连续性与间断点6.1、函数的连续性6.1.1、定义6.1.2、左连续右连续 6.2、函数的间断点6.2.1、第一类间断点6.2…

炒股杠杆加杠杆安全|股票杠杆的安全玩法是怎样?

炒股杠杆和股票杠杆是一种高风险高收益的投资方式,需要在了解风险和做好风险管理的前提下进行。下面将介绍一些股票杠杆的安全玩法,帮助你更好地理解这种投资方式。 1. 了解自己的风险承受能力 在投资前,你需要了解自己的风险承受能力&…

云贝教育 |【DSI】Oracle数据库系列课-葵花宝典技术内幕实战课程

云贝教育DSI系列课: Oracle数据库深入浅出 零基础课程【DSI系列Ⅰ】 Oracle数据库特殊恢复原理与实战【DSI系列Ⅱ】 Oracle数据库 SQL Tuning【DSI系列Ⅲ】 Oracle数据库 DB Performance Tuning【DSI系Ⅳ】 DSI的意义 DSI课程是基于Oracle DSI403e和BBED工具修…

JUC并发工具类在大厂的应用场景详解

jdk提供了比synchronized更加高级的各种同步工具,包括 ReentrantLock 、 Semaphore 、 CountDownLatch 、 CyclicBarrier等,可以实现更加丰富的多线程操作。 (前三个是重点) 一. ReentrantLock ReentrantLock是一种可重入的独占锁,它允许同一…

spark集群环境下,实现人口平均年龄计算

文章目录 任务目标0. 版本信息1. 计算生成renkou.txt2. 文件上传至spark3. 上传文件时,可能出现的常见错误4. 编写spark文件5. 上传集群6. 集群环境下提交任务 任务目标 在虚拟机上部署spark集群,给定renkou.txt文件,输出平均年龄 renkou.t…

淘宝天猫商品评论数据接口,淘宝天猫商品评论API接口,淘宝API

淘宝商品评论数据接口可以通过淘宝开放平台API获取。 通过构建合理的请求URL,可以向淘宝服务器发起HTTP请求,获取商品评论数据。接口返回的数据一般为JSON格式,包含了商品的各种评价信息。获取到商品评论数据后,可以对其进行处理…

京东商品评论数据接口,京东API接口

京东商品评论内容数据接口步骤如下: 访问京东开放平台并注册一个开发者账号。创建一个应用并获取到API的权限。在开发者的控制台中找到API的使用文档。在文档中找到获取商品评论的API接口,点击获取key和secret。构造请求URL,请求URL的路径为…

SAP-MM/QM 移动原因维护

业务场景: 质检反馈现有的几种退货原因不能满足业务需求,需要增加,那么启用质检的退货原因和未启用质检的退货原因分别在哪里维护呢? 经过查找,退货原因不是按模块区分的,而是按移动类型确定的&#xff0c…