命令 性能 问题redis

redis分布式锁的实现

一.正常加锁 当两个用户同时注册一个用户名时,为保证用户名不能重复,因此对其注册的用户名加锁。 具体步骤: 获得用户注册的用户名,进行判断,如果为空则对其进行加锁,保存到数据库,释放锁资源。 二.线程出现阻塞 当A线程加锁后出现阻塞时,导致数据还没有存到数据库,锁的时间便会失效。 B线程便会执行,对 ......
分布式 redis

用Redis实现延迟队列,我研究了两种方案,发现并不简单

大家好,我是三友~~ 背景 前段时间有个小项目需要使用延迟任务,谈到延迟任务,我脑子第一时间一闪而过的就是使用消息队列来做,比如RabbitMQ的死信队列又或者RocketMQ的延迟队列,但是奈何这是一个小项目,并没有引入MQ,我也不太想因为一个延迟任务就引入MQ,增加系统复杂度,所以这个方案直接就 ......
队列 方案 Redis

使用JsonTextReader提高Json.NET反序列化的性能

一、碰到的问题 在服务器的文件系统上有一个业务生成的BigTable.json文件,其可能包含的JSON字符串很大,同时里边的集合会包含很多的记录;我们使用以下的代码来反序列化,虽然使用了异步的ReadAllTextAsync来读取文件,但是还是需要将整个的文件内容都读取到内存中,这样会极大的占用服 ......
JsonTextReader 序列 性能 Json NET

这6种性能优化,让你的程序飞起来!

软件设计开发某种意义上是"取"与"舍"的艺术。关于性能方面,就像建筑设计成抗震9度需要额外的成本一样,高性能软件系统也意味着更高的实现成本,有时候与其他质量属性甚至会冲突,比如安全性、可扩展性、可观测性等等。大部分时候我们需要的是:在业务遇到瓶颈之前,利用常见的技术手段将系统优化到预期水平。那么, ......
性能 程序

关于这个“微信提现”的问题,太炸裂了,以至于我写了段代码来验证!

你好呀,我是歪歪。 周末的时候,我在网上看到一个关于微信钱包提现时,手续费收取的一个问题。 说真的,就这个问题吧,我个人觉得,放眼整个金融界,乃至于整个弱智吧,甚至于整个东半球,这都是一个相当炸裂的问题啊。 一时间,我居然恍惚了起来:一眼看去,漏洞百出。但是仔细分析之后,居然 TMD 无懈可击?! ......
代码 问题

前端性能精进之优化方法论(二)——分析

在上一节中曾提到过两种性能监控:SYN 和 RUM,那么对应的也有两种分析:数据分析和实验室分析。 数据分析会通过采集上来的性能信息来剖析和定位可能存在的各种问题。 实验室分析会通过某个线上或本地的测试工具对页面进行单点测试,得出性能分析报告。 本文会对前者介绍一些分析实践,后者会介绍一些比较有名的 ......
方法论 前端 性能 方法

Linux命令-用户、权限管理

Linux命令-用户、权限管理 用户是Unix/Linux系统工作中重要的一环,用户管理包括用户与组账号的管理。 在Unix/Linux系统中,不论是由本机或是远程登录系统,每个系统都必须拥有一个账号,并且对于不同的系统资源拥有不同的使用权限。 Unix/Linux系统中的root账号通常用于系统的 ......
命令 权限 用户 Linux

Spring事务(Transaction)管理高级篇一栈式解决开发中遇到的事务问题

Spring是目前Java开发中最流行的框架了,它的事务管理我们在开发中常常的用到,但是很多人不理解它事务的原理,导致开发中遇到事务方面的问题往往都要用很长的时间才能解决,下面就带着大家去深入了解Spring的事务,然后文章的最后还会给出开发中常常遇到的问题以及解决方案。 如果单纯的用Spring框 ......
事务 Transaction Spring 问题

redis georadius源码分析与性能优化

原文地址: https://blog.fanscore.cn/a/51/ 背景 最近接到一个需求,开发中使用了redis georadius命令取附近给定距离内的点。完工后对服务进行压测后发现georadius的性能比预期要差,因此我分析了georadius的源码,并对原始的实现方案进行了优化,总结 ......
georadius 源码 性能 redis

衡量算法的性能-时空复杂度分析

算法 即存在输入输出,由有限步骤结束的程序. 因此,显而易见,算法并不是指一个单一的标准答案,而是一切能够完成要求的程序都可以称之为算法.但是算法之间根据性能的不同存在差异,评判这个差异的指标就是本篇分享的重点. 评判算法优劣的指标 1.时间复杂度 时间复杂度用O()表示,它的实质是算法的计算次数 ......
复杂度 算法 性能 时空

chatGPT帮助开发实战解答问题和反思

问题来自.Net开发群友 问题 我想做一个自动生成单据号的功能,但是在EFCORE里没有行级锁,请有什么等价方案吗? ChatGPT回答 在 EF Core 中确实没有提供行级锁(row-level locking)的功能,因为这需要对数据库进行显式的锁定操作,而 EF Core 的设计理念是尽可能 ......
实战 chatGPT 问题

前端性能优化百问大杂烩

主要内容为下面几大类:移动端、图片、JavaScript、css、html、页面内容、服务器、cookie。 移动端性能优化: 保持单个文件小于25KB 移动网站页面要求下载资源,如果文件过大,会大大减慢页面加载速度。 打包内容为分段multipart文档 由于HTTP请求每一次都会执行三次握手,每 ......
前端 大杂烩 性能

云服务器安装 redis

下载地址:https://download.redis.io/releases/ 此处示例使用的版本是:redis-6.2.10.tar.gz 前提环境: 云服务器 Xshell(操作终端) Xftp(传输工具) Redis Desktop Manager(redis 可视化客户端,可选) 1. 下 ......
服务器 redis

redis(2)概述与安装

前言 redis安装在Linux服务器上,系统为centos7,安装的版本为redis6.2.10 下载与安装 下载地址:https://redis.io/download/#redis-downloads 点击上面的链接就能进入redis下载页面,最新的目前是7.0 这里使用的是6.2.10的版本 ......
redis

redis(10)事务和锁机制

Redis事务定义 Redis 事务是一个单独的隔离操作:事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中,不会被其他客户端发送来的命令请求所打断。 Redis 事务的主要作用就是串联多个命令防止别的命令插队。 Multi、Exec、discard Redis 事务中有 Multi、Ex ......
机制 事务 redis

redis(1)NoSQL数据库简介

1.1 技术发展 redis是用来解决性能问题的数据库 技术的分类: 解决功能性问题:Java、Jsp、RDBMS、Tomcat、HTML、Linux、JDBC、SVN 解决扩展性问题:Struts、Spring、SpringMVC、Hibernate、Mybatis 解决性能问题:NoSQL、Ja ......
数据库 简介 数据 redis NoSQL

2023年十款开源测试开发工具推荐(自动化、性能、造数据、流量复制)

1、AutoMeter-API 自动化测试平台 AutoMeter 是一款针对分布式服务,微服务 API 做功能和性能一体化的自动化测试平台,一站式提供发布单元,API,环境,用例,前置条件,场景,计划,报告等管理 在项目开发,迭代交付过程中开发人员,测试人员需要针对系统提供的 API 做调试,回归 ......
开发工具 流量 性能 工具 数据

调式源码解决 seata 报错 can not get cluster name 问题

最近在使用Spring Cloud整合分布式事务seata,项目启动之后,控制台一直报错: can not get cluster name in registry config 'service.vgroupMapping.nacos-provide-order-seata-service-gro ......
调式 源码 cluster 问题 seata

现代图片性能优化及体验优化指南 - 响应式图片方案

本文是系列第二篇。系列文章: 现代图片性能优化及体验优化指南 - 图片类型及 Picture 标签的使用 图片资源,在我们的业务中可谓是占据了非常大头的一环,尤其是其对带宽的消耗是十分巨大的。 对图片的性能优化及体验优化在今天就显得尤为重要。本文,就将从各个方面阐述,在各种新特性满头飞的今天,我们可 ......
图片 性能 方案 指南

现代图片性能优化及体验优化指南 - 缩放精细化展示及避免布局偏移、拉伸

本文是系列第三篇。系列文章: 现代图片性能优化及体验优化指南 - 图片类型及 Picture 标签的使用 现代图片性能优化及体验优化指南 - 响应式图片方案 图片资源,在我们的业务中可谓是占据了非常大头的一环,尤其是其对带宽的消耗是十分巨大的。 对图片的性能优化及体验优化在今天就显得尤为重要。本文, ......
布局 性能 指南 图片

jmeter做性能测试

一、线程与进程 一个软件/程序,是以进程的方式存在的,一个进程可含多个线程(一个软件可以做多个事情,就是基于线程而实现的) 二、并发的基本概念 并发: 并发用户数:同一时刻,服务器/接口接收到的用户量,例如同一时刻有22个同学同时点击登录按钮,此时并发用户数为22 并发请求数/qps/rps:同一时 ......
性能 jmeter

grafana展示的CPU利用率与实际不符的问题探究

问题描述 最近看了一个虚机的CPU使用情况,使用mpstat -P ALL命令查看系统的CPU情况(该系统只有一个CPU core),发现该CPU的%usr长期维持在70%左右,且%sys也长期维持在20%左右: 03:56:29 AM CPU %usr %nice %sys %iowait %ir ......
利用率 实际 grafana 问题 CPU

使用java.util.Timer实现定时任务,详解Thread.sleep() in a loop, probably busy-waiting问题

很多时候,我们需要定时任务实现一些诸如刷新,心跳,保活等功能。这些定时任务往往逻辑很简单,使用定时任务的框架(例如springboot @Scheduled)往往大材小用。 下面是一个定时任务的典型写法,每隔30s发送心跳 public static void main(String[] args) ......
busy-waiting probably 任务 waiting Thread

【译】.NET 7 中的性能改进(一)

原文 | Stephen Toub 翻译 | 郑子铭 一年前,我发布了.NET 6 中的性能改进,紧接着是.NET 5、.NET Core 3.0、.NET Core 2.1和.NET Core 2.0的类似帖子。我喜欢写这些帖子,也喜欢阅读开发人员对它们的回复。去年的一条评论特别引起了我的共鸣。评 ......
性能 NET

【译】.NET 7 中的性能改进(二)

原文 | Stephen Toub 翻译 | 郑子铭 堆栈替换 (On-Stack Replacement) 堆栈替换 (OSR) 是 .NET 7 中最酷的 JIT 功能之一。但要真正了解 OSR,我们首先需要了解分层编译 (tiered compilation),所以快速回顾一下…… 具有 JI ......
性能 NET

【译】.NET 7 中的性能改进(三)

原文 | Stephen Toub 翻译 | 郑子铭 PGO 我在我的 .NET 6 性能改进一文中写了关于配置文件引导优化 (profile-guided optimization) (PGO) 的文章,但我将在此处再次介绍它,因为它已经看到了 .NET 7 的大量改进。 PGO 已经存在了很长时 ......
性能 NET

【译】.NET 7 中的性能改进(四)

原文 | Stephen Toub 翻译 | 郑子铭 边界检查消除 (Bounds Check Elimination) 让.NET吸引人的地方之一是它的安全性。运行时保护对数组、字符串和跨度的访问,这样你就不会因为走到任何一端而意外地破坏内存;如果你这样做,而不是读/写任意的内存,你会得到异常。当 ......
性能 NET

【译】.NET 7 中的性能改进(五)

原文 | Stephen Toub 翻译 | 郑子铭 循环提升和克隆 (Loop Hoisting and Cloning) 我们之前看到PGO是如何与循环提升和克隆互动的,这些优化也有其他改进。 从历史上看,JIT对提升的支持仅限于将一个不变量提升到一个层级。 考虑一下这个例子: [Benchma ......
性能 NET

【译】.NET 7 中的性能改进(六)

原文 | Stephen Toub 翻译 | 郑子铭 矢量化 (Vectorization) SIMD,即单指令多数据 (Single Instruction Multiple Data),是一种处理方式,其中一条指令同时适用于多条数据。你有一个数字列表,你想找到一个特定值的索引?你可以在列表中一次 ......
性能 NET

【译】.NET 7 中的性能改进(七)

原文 | Stephen Toub 翻译 | 郑子铭 Arm64 在.NET 7中,大量的努力用于使Arm64的代码生成与x64的代码生成一样好或更好。我已经讨论了一些与架构无关的PR,还有一些是专门针对Arm的,但还有很多。我们来列举其中的一些。 寻址模式 (Addressing modes) " ......
性能 NET