缓存 优缺点 分布式

缓存优化——环境搭建

maven坐标 在项目的pom.xml文件中导入spring data redis的maven坐标: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis ......
缓存 环境

缓存优化——准备工作

用户点餐存在问题: 用户数量多,系统访问量, 频繁访问数据库,系统性能下降,用户体验差。 gitee管理代码: 将reggie项目推送到gitee的一个仓库的master分支中,master分支保留原始版本。新建一个分支专门用来优化代码。 ......
缓存

如何实现线程安全的内存缓存

如何实现线程安全的内存缓存 这两天正好看到一个用go实现的线程安全的内存缓存,实现代码非常简洁高效,不卖弄不烧脑,非常值得初学者拿来学习。 项目地址 项目地址在https://github.com/muesli/cache2go,目前已经有1.8k的star。 如何使用 package main i ......
线程 缓存 内存

vue 之 computed方法自带缓存踩坑1

使用场景:ant-vue 穿梭框使用 页面使用computed方法处理组织结构数据,退出页面时,对加载数据做了set null 操作,再次进入页面时,穿梭框只显示数据,无法做左右穿梭功能。 原因:computed方法在页面初始化时执行,且只执行一次,并会将方法内的数据进行缓存。退出页面做了数据清除工 ......
缓存 computed 方法 vue

单例模式的优缺点和使用场景

首先介绍一下单例模式: 单例模式(Singleton),也叫单子模式,是一种常用的软件设计模式。在应用这个模式时,单例对象的类必须保证只有一个实例存在。许多时候整个系统只需要拥有一个的全局对象,这样有利于我们协调系统整体的行为。比如在某个服务器程序中,该服务器的配置信息存放在一个文件中,这些配置数据 ......
优缺点 场景 模式

Redis 使用Redisson+Rlock实现分布式锁

使用setnx+Lua脚本实现分布式锁会有一个问题:如果操作共享资源的时间大于过期时间,就会出现锁提前过期的问题,进而导致分布式锁直接失效。如果锁的超时时间设置过长,又会影响到性能。 如果操作共享资源的操作还未完成,锁过期时间能够自己续期就好了 对这个问题 Redisson 提供了现成的解决方案。 ......
分布式 Redisson Redis Rlock

Jmeter搭建分布式压测环境

最近在做性能测试,本来以为一台压力机就够啦,但是在压测一个查询接口的时候,当TPS达到500多的时候就开始报错,经过定位是压力机出现啦瓶颈,于是决定对压力机做一下分布式,经过调试环境部署成功,再次压测时候问题解决。下面记录一下部署分布式环境的过程。 使用的工具及版本: JDK:1.8.0_211 J ......
分布式 环境 Jmeter

分布式系统——并发条件下如何保证缓存与DB数据一致性

什么是数据一致性 我们常说的数据一致性指的是在程序运行过程中本地缓存、分布式缓存、数据库三者之间的数据一致性 常见的本地缓存有 hashmap、currenthashmap、guava cache、caffeine 分布式缓存常见的有 redis、memcache 常见数据不一致常见有: 本地缓存与 ......
一致性 分布式 缓存 条件 数据

分布式系统——分布式ID方案

分布式ID介绍 在分布式系统中,我们经常需要生成全局唯一的标识符,例如订单号,用户id,消息id等。这些标识符通常被称为分布式id。分布式id有以下几个常见的要求: 全局唯一:不同的节点或服务不能生成重复的id。 高性能:生成id的速度要快,不能成为系统的瓶颈。 低延迟:生成id的过程要尽可能简单, ......
分布式 方案 系统

多维随机变量及其分布

《二维随机变量》 注意 在分布函数中 P{X<=x 且 Y<=y} 而且有性质: 这个性质在求概率密度的未知数时有用 这个公式结合一下二维前缀和算法就能很好明白了 《二维离散型随机变量》 注意一下分布律的求法,其中的概率记住:X与Y是 且 《二维连续型随机变量》 具体练习看书P65 《高数知识》 到 ......
变量

RDB与AOF优缺点分析

......
优缺点 RDB AOF

Hive 如何巧用分布函数percent_rank()剔除极值求均值

场景描述 前期写过一篇关于剔除订单极值求订单均值的案例,之前使用的是 dense_rank 函数对订单金额进行排序后,过滤掉最大值最小值后进行处理,最近工作刚好使用到分布函数percent_rank,想起来应该也可以用到这个场景; percent_rank() 简介 percent_rank() 函 ......
极值 均值 percent_rank 函数 percent

RDB优缺点

......
优缺点 RDB

django前后端分离本地缓存,后续需要配置在redis

如何使用: from django.core.cache import cache cache.set('key', value可以是任意数据类型) cache.get('key') 应用场景: 第一次查询所有图书,通过多表联查序列化后的数据,直接缓存起来 后续,直接进入缓存查,如果有直接返回数据, ......
缓存 django redis

分布式系统——基于Redis的分布式锁的实现

分布式锁的介绍 分布式锁是分布式系统中用于协调多个进程或线程之间并发访问共享资源的一种机制。在分布式系统中,由于各个节点之间的通信存在延迟、故障等问题,可能会导致数据的不一致性。为了保证数据的一致性,需要使用分布式锁来协调各个节点的并发访问。 在分布式系统中,多个节点同时访问共享资源可能会导致以下问 ......
分布式 系统 Redis

大数据经典论文解读 - 分布式锁 Chubby

Chubby 在谷歌“三驾马车”中3个系统都是单Master系统,这个Master是系统的单点,一旦Master故障集群就无法提供服务。使用Backup Master,通过监控机制进行切换。但是: 如何实现Backup Master和Master完全同步? 监控程序也是单点,如何确定是Master宕 ......
分布式 经典 数据 Chubby 论文

Redis添加分布式锁

1.不是高并发的场景 stringRedisTemplate.opsForValue.setIfAbsent("zql","人在代码在",10,TimeUnit.SECONDS);//只加过期限制 2.高并发的场景 如果加锁的过期时间小于业务执行时间,那么需要给每个线程的锁加这个线程的唯一标识,让每 ......
分布式 Redis

ceph分布式存储搭建

CEPH分布式存储搭建 本文通过参考臧 雪 园 老师的文档根据实际操作做修改,详细视频链接参考: https://edu.51cto.com/course/15982.html 集群配置信息: 安装的ceph版本: 配置所需源的地址 wget -O /etc/yum.repos.d/CentOS-B ......
分布式 ceph

关于浏览器缓存

前些天包括今天在开发MVC程序时,发现更改的一个js文件无论如何更改都改不过来, 最开始的想法是: 可能是浏览器中的应用程序存储的问体于是遂清除 最后发现这个办法没有用。。。 后面感觉可能是IIS的应用程序池问题,后选择了回收应用程序池 然后发现也不行, 后面试了更改程序,后面发现好了,以为是写的代 ......
缓存 浏览器

redis使用setnx+lua实现分布式锁

在Redis中,使用SETEX命令(对应RedisTemplate的setIfAbsent方法)可以实现一个最简易的分布锁。SETEX命令当key不存在的话,才会设置key的值,如果可以已经存在,就不做任何操作。 为了避免锁无法被释放,就给这个key(也就是锁)设置一个过期时间。 为了保证解锁操作的 ......
分布式 redis setnx lua

ASP.NET Core - 缓存之内存缓存(上)

#1. 缓存 缓存指的是在软件应用运行过程中,将一些数据生成副本直接进行存取,而不是从原始源(数据库,业务逻辑计算等)读取数据,减少生成内容所需的工作,从而显著提高应用的性能和可伸缩性,使用好缓存技术,有利于提高我们提升用户体验性。 对于缓存的使用有以下一些注意点: 缓存最适用于不常更改且生成成本很 ......
缓存 内存 Core ASP NET

14、基于Redis实现缓存与消息队列

Redis是基于内存运行并支持持久化、高性能的NoSQL(非关系型)数据库,适用于存储频繁访问,数据量较小的数据,应用在配合关系型数据库做高速缓存与多样的数据结构存储持久化数据; 一、搭建基于spring boot的Redis工程: 1、POM: <dependency> <groupId>org. ......
队列 缓存 消息 Redis

windows下使用pytorch进行单机多卡分布式训练

现在有四张卡,但是部署在windows10系统上,想尝试下在windows上使用单机多卡进行分布式训练,网上找了一圈硬是没找到相关的文章。以下是踩坑过程。 首先,pytorch的版本必须是大于1.7,这里使用的环境是: pytorch==1.12+cu11.6 四张4090显卡 python==3. ......
分布式 单机 windows pytorch

SSD缓存加速

内核开启bcache modprobe bcache lsmod |grep bcache 安装bcache-tools apt install bcache-tools 绑定SSD和HDD bcache有两种设备,一个是backing,一个是cache,backing指的就是存放数据的后端磁盘,c ......
缓存 SSD

Using publicly 使用公开遥感数据做非洲贫困分布制图

Using publicly 使用公开遥感数据做非洲贫困分布制图 Abstract 使用了约20000个village-level的点,得到village-level的精度是$r^2$=70% 在时间维度上,使用了district-aggregated change 作为评估尺度,精度是$r^2$= ......
遥感 publicly 数据 Using

.NetCore中使用分布式事务DTM的二阶段消息

一、概述 二阶段消息是DTM新提出的,可以完美代替现有的事务消息和本地消息表架构。无论从复杂度、性能、便利性还是代码量都是完胜现有的方案。 相比现有的消息架构借助于各种消息中间件比如RocketMQ等,DTM自己实现了无需额外的学习成本。它能够保证本地事务的提交和全局事务提交是“原子的”,适合解决不 ......
分布式 阶段 事务 NetCore 消息

redis集群方案的优缺点以及原理

如果主库挂了,我们就需要运行一个新主库,比如说把一个从库切换为主库,把它当成主库。 这就涉及到三个问题: 主库真的挂了吗? 该选择哪个从库作为主库? 怎么把新主库的相关信息通知给从库和客户端呢? 这就要提到哨兵机制了。在 Redis 主从集群中,哨兵机制是实现主从库自动切换的关键机制,它有效地解决了 ......
优缺点 集群 原理 方案 redis

分布式事务讲解之CAP,2PC,3PC,TCC

学习此篇分布式事务前先学习Spring事务讲解 1 CAP 1.1 CAP原则 CAP原则又称CAP定理, 指的是在一个分布式系统中, Consistency(一致性) 、Availability(可用性) 、 Partition tolerance(分区容错性) , 三者不可兼得。 |原则分类|详 ......
分布式 事务 PC CAP 2PC

Redis基于@Cacheable注解实现接口缓存

说明 @Cacheable 注解在方法上,表示该方法的返回结果是可以缓存的。也就是说,该方法的返回结果会放在缓存中,以便于以后使用相同的参数调用该方法时,会返回缓存中的值,而不会实际执行该方法。 | 属性名称 | 属性描述 | 举例 | | | | | | value/cacheNames | 指定 ......
注解 缓存 Cacheable 接口 Redis

关于解决缓存雪崩和缓存击穿的问题

第二点.Redis哨兵保证高可用性,避免redis出现宕机后,导致全部服务瘫痪,数据库崩溃。 二:缓存击穿的问题,也叫热点KEY失效问题。 两种方法的比较: TRANSLATE with x English Arabic Hebrew Polish Bulgarian Hindi Portugues ......
缓存 雪崩 问题