当前位置: 首页 > article >正文

redis01

redis概念

远程字典服务

是一个开源的使用ANSI C语言编写,支持网络,可基于内存亦可持久化的日志类型,ker-value数据库,并提供多种语言的API,它支持多种类型的数据结构,:字符串 散列 列表 集合 有序集合

API:用于构造应用软件的一组子程序定义,协议和工具,这是一套明确定义各个软件组件之间的通信方法

协议:规定各部分之间如何进行交流的一系列规则的集合

API端点:同一个接口中提供特定功能自己的服务提供者,不同的端点可以有不同的协议和不同的格式

redis能干嘛

1、内存存储、持久化,内存中是断电即失的,所以说持久化很重要

2、效率高,可以用于高速缓存

3、发布订阅系统

4、地图信息分析

5、计时器,计数器(浏览量)

redis     事物

1、原子性:一个事物是一个不可分割的工作单位,事物中包括的操作要不都做,要不都不做

2、一致性:事物必须是使数据库一个一致性状态变成另外一个一致性状态,一致性和原子性是密切相关的

3、隔离性:一个事物的执行不能被其它事物干扰,即一个事物内部的操作及使用激光的数据对于并发的其它事物是隔离的,并发执行的各个事物之间不能互相干扰

4、持久性:持久性也称为永久性,指一个事物一旦被提交,它对数据库中的数据的改变就是永久性的,接下来的其它操作或者故障不应该对其有任何影响

在redis事物没有隔离级别的概念

在redis单条命令是保护原子性,但是事物不保证原子性

乐观锁

1、当程序中出现并发情况,就需要保证在并发情况下数据的准确性,以确保当前用户和其他用户一起操作时哦,所得到的结构和他单独操作时的结果是一样的

2、没有做好并发控制,就可能导致脏读、幻读‘不可重复读等问题

在redis中是可以实现乐观锁的

客观锁和悲观锁的区别:

悲观锁:什么时候都会出现问题,所以一直监视着没有执行当前步骤完成之前,不让任何线程执行,十分浪费性能,一般不使用

乐观锁:只有更新数据的时候去判断一下,在此期间是否有人修改过被监视的这个数据,没有的话正常执行事务,反之执行失败


http://www.kler.cn/news/328337.html

相关文章:

  • 高级java每日一道面试题-2024年9月27日-数据库篇-性别是否适合做索引?
  • Leetcode45. 跳跃游戏 II
  • 「安装」 Windows下安装CUDA和Pytorch
  • linux如何与网络时间对齐(雪花算法ID重复)
  • 【AAOS】CarService -- Android汽车服务
  • 【Web】Electron:第一个桌面程序
  • Python与C#关于switch的使用区别
  • [python][pipenv]pipenv的使用
  • 输出 / 目录下所有目录文件的大小并排序
  • 如何改变音频声音大小?关于改变音频大小的方法介绍
  • NLP任务之文本分类(情感分析)
  • 简单vue指令实现 el-table 可拖拽表格功能
  • Qt C++设计模式->享元模式
  • Windows远程Kylin系统-xrdp
  • CTF中文件包含
  • 【优选算法】(第三篇)
  • IDEA 系列产品 下载
  • 前后端传参
  • Android 已经过时的方法用什么新方法替代?
  • 通信工程学习:什么是SMTP简单邮件传输协议
  • windows C++-计划组
  • 机器学习西瓜书——线性判别分析LDA
  • 使用PyTorch实现自然语言处理:从基础到实践
  • Go基础学习07-map注意事项;多协程对map的资源竞争;sync.Mutex避免竟态条件
  • QEMU使用Qemu-Guest-Agent传输文件、执行指令等
  • http增删改查四种请求方式操纵数据库
  • k8s 1.28.2 集群部署 ingress 1.11.1 包含 admission-webhook
  • Qt 中的 QListWidget、QTreeWidget 和 QTableWidget:简化的数据展示控件
  • 开发微信小程序 基础03
  • scala 2.12 error: value foreach is not a member of Object