Redis死键的定义不尽相同,通常有两种:写到Redis里后,由于过期时间过长或者压根没有过期时间,加之长期不访问,这类key可以被称为死键。明明已经过了过期时间,但还占用Redis内存(没有真的删除),这类key也可以被称为死键。注释:本文讨论第二种情况一、两个例子下面两个列子中的键值均有过期时间,同时有些键值已过期对某Redis集群进行全量scan后,键值数和容量的变化:键值数容量GB扫描前5,628,636,5131116扫描后4,206,66...
2023-12-04 15:29:33 3878浏览 0点赞 0回复 0收藏
本文是Redis成本优化系列文章的第3篇,讲述了hashtable的相关优化(系列文章相关目录见文末)一、几个实验hash相关配置before7.0hashmaxziplistentries:512hashmaxziplistvalue:64after7.0hashmaxlistpackentries512hashmaxlistpackvalue64如下三个场景,hash的内部实现都是hashtable,而不是ziplist:1.写入100万条hash键值对:key为37字节(hash32字节uuid)、2对field(f0、f1)value(100字节)版本2.8.243.0.73.2.134.0.145.0.14...
2023-12-04 15:15:09 2015浏览 0点赞 0回复 0收藏
做了一阵子的成本优化,一直想整理些文章发出来,由于比较懒且“怂”一直没弄,最近决定还是整理下,本文是该系列文章的第一篇。(相关目录见文末)一、几个实验Redis实验版本(撰写文本的最新版本):2.8.24、3.0.7、3.2.13、4.0.14、5.0.14、6.0.20、6.2.15、7.0.12,容量MB:去掉了Redis自身的容量1.写入100万条string键值对:key、value均为小于32字节字符串(测试用16字节)版本2.8.243.0.73.2.134.0.145.0.146.0.206.2.157.0....
2023-12-04 15:10:37 1866浏览 0点赞 0回复 0收藏
一、Redis逐出功能简介网上关于Redis逐出功能和算法的文章比较多,这里就不浪费篇幅介绍,本文旨在介绍Redis6.2以后一个Redis逐出上的重大优化(渐进式逐出),顺带整理下Redis在各个版本上逐出功能上的优化。Redis有一个maxmemory配置,每次执行命令时如果发现当前Redis使用内存超过maxmemory时,会使用相应的策略(包含不逐出也是一种策略)把key进行逐出,直到Redis使用内存小于maxmemory,这句话包含了几个重要信息,我们分别来...
2023-12-04 14:56:09 2191浏览 0点赞 0回复 0收藏
VLDB(InternationalConferenceonVeryLargeDataBases)是数据库领域顶级国际会议之一。南京大学、苏黎世联邦理工学院、腾讯云TDSQL团队的最新研究成果入选VLDB2023ResearchFullPaper(研究类长文),入选论文题目为“EfficientBlackboxCheckingofSnapshotIsolationinDatabases”。在数据库事务中,快照隔离(SnapshotIsolation,SI)是一种已被广泛使用的弱隔离级别,它既避免了可串行化带来的性能损失,又能防止多种不希望出现...
2023-10-26 15:01:50 3654浏览 0点赞 0回复 0收藏
7月中旬,腾讯云724h售后支持群收到来自XGirl(化名)客户的消息,客户直呼咱家数据库帮大忙了,想要亲自感谢腾讯云MySQL团队。诶?怎么回事呢?关于XGirlXGirl是一家线上线下同时运营的女装店,既从厂家拿货转售给各大渠道商,又同时经营自家店铺。为方便自家店铺的经营以及渠道商的下单,订单交易从原来的微信沟通转移至网店、小程序等。XGirl公司拥有一名懂技术的人员,但是也不太熟悉数据库,因此早在建站初期就加入了腾讯...
2023-10-26 15:01:28 3676浏览 0点赞 0回复 0收藏
“HTAP”作为数据库领域的当红炸子鸡,其热捧度逐年递增。特别是在随着国产化数据库浪潮逐渐替代原有数据库架构的进程中,业务系统中各类的复杂数据查询与在线交易交织的场景需求日益增多,使得业务对数据库HTAP的能力要求逐渐严格起来。随着各大厂商的不断努力,市面上也涌现了一大批优秀的HTAP数据库产品。TDSQL很早就对外提供了HTAP能力,并在多行业场景应用中落地,很多小伙伴也都很关注TDSQL的HTAP架构到底是如何实现的,...
2023-10-26 15:01:06 4873浏览 0点赞 0回复 0收藏
云原生数据库TDSQLC使用计算存储分离的架构,计算资源和存储资源解耦,可以提供PB级的存储容量供用户按需使用。而Serverless架构是将计算资源做到极致弹性,和购买的实例规格解耦,根据用户数据库实际的负载,自动启停和自动扩缩容,按使用计费。其中计算资源主要是CCU(CPU+内存),CPU可以由cgroup或者docker等技术限制,内存分配给数据库进程,大部分由BufferPool模块使用,目的是缓存用户数据,BufferPool内存的分配与释放...
2023-10-26 15:00:35 3218浏览 0点赞 0回复 0收藏
一、背景最近因为增加了一个在agent中上报异常的功能,agent为了在http请求时方便把对象转换为json格式,增加了一个fastjson的依赖,结果搞出来各种问题。环境:JDK1.8SpringBoot2.0.0.RELEASEskywalkingagent8.14.0二、初现问题2.1初步定位有同事反馈应用在本地能启动,但是到了测试环境(带agent启动)就起不来,报错如下:首先还是要确认下是不是应用的依赖冲突问题,GenericHttpMessageConverter这个类是在springwe...
2023-08-25 16:04:07 3064浏览 1点赞 1回复 0收藏
1先来了解下分布式锁1.1什么是分布式锁分布式锁,即分布式系统中的锁,我们通过锁解决控制共享资源访问的问题,来保证只有一个线程可以访问被保护的资源。1.2分布式锁的实现方案基于数据库实现分布式锁基于Zookeeper实现分布式锁基于Redis实现分布式锁等等,本篇基于Redis角度进行讨论1.3分布式锁满足哪些特性互斥性:在分布式系统下,一个事件在同一个时间内只能被一个线程执行,即只能有一个线程持有锁。安全性:可以方便地获...
2023-06-09 11:56:46 2363浏览 0点赞 0回复 0收藏
1为什么需要数据库备份灾难恢复:当发生数据灾难的时候,需要对损坏的数据进行恢复和还原需求的变更或者回滚:当需求发生变更,或者需要回滚到之前的版本时,数据库备份也显得很重要。审计:需要知道某一个阶段的数据或者Schema的实际情况测试:将实际的生产环境的数据导入到本地备份为测试数据,来验证新功能,可以省去很多麻烦。2备份需要考虑的几个关键点恢复点目标(PRO):可以容忍丢失多少数据恢复时间目标(RTO):需要...
2023-06-09 11:56:15 1562浏览 0点赞 0回复 0收藏
1复习下何为事务机制?Transaction(事务)是计算机的特有术语,它一般指单个逻辑工作单位,由一系列的操作组合而成,在这些操作执行的时候,要么都执行成功,要么都不执行,防止数据结果的不一致性。简而言之,事务是一个不可分割的工作逻辑单位。为了衡量工作单元是否具备事务能力,需要满足四个特征:ACID,即原子性(Atomicity,或称不可分割性)、一致性(Consistency)、隔离性(Isolation,又称独立性)、持久性(Durabi...
2023-06-09 11:55:53 1370浏览 0点赞 0回复 0收藏
1介绍在MySQL数据库查询过程中,索引覆盖和避免不必要的回表,是减少检索步骤,提高执行效率的有效手段。下面从这两个角度分析如何进行MySQL检索提效。2数据准备模拟一个500w数据容量的部门表emp,表结构如下,并通过工具模拟500w的数据:CREATETABLEemp(idintunsignedNOTNULLAUTOINCREMENT,empnointunsignedDEFAULTNULL,empnamevarchar(50)DEFAULTNULL,jobvarchar(50)DEFAULTNULL,mgrintDEFAULT1,hiredatedatetimeDEFAULTNULL,...
2023-06-09 11:55:29 2141浏览 0点赞 0回复 0收藏
我们了解下这篇文的目录。代码执行send成功后,数据就发出去了吗?回答这个问题之前,需要了解什么是Socket缓冲区。Socket缓冲区什么是socket缓冲区编程的时候,如果要跟某个IP建立连接,我们需要调用操作系统提供的socketAPI。socket在操作系统层面,可以理解为一个文件。我们可以对这个文件进行一些方法操作。用listen方法,可以让程序作为服务器监听其他客户端的连接。用connect,可以作为客户端连...
2022-12-19 11:57:46 3707浏览 0点赞 0回复 0收藏
我们都知道,TCP是个面向连接的、可靠的、基于字节流的传输层通信协议。那这里面提到的"面向连接",意味着需要建立连接,使用连接,释放连接。建立连接是指我们熟知的TCP三次握手。而使用连接,则是通过一发送、一确认的形式,进行数据传输。还有就是释放连接,也就是我们常见的TCP四次挥手。TCP四次挥手大家应该比较了解了,但大家见过三次挥手吗?还有两次挥手呢?都见过?那四次握手呢?今天这个话题,不想只是猎奇,也不想...
2022-12-09 13:57:51 4623浏览 0点赞 0回复 0收藏
下面是这篇文章的目录。什么是RST我们都知道TCP正常情况下断开连接是用四次挥手,那是正常时候的优雅做法。但异常情况下,收发双方都不一定正常,连挥手这件事本身都可能做不到,所以就需要一个机制去强行关闭连接。RST就是用于这种情况,一般用来异常地关闭一个连接。它是一个TCP包头中的标志位。正常情况下,不管是发出,还是收到置了这个标志位的数据包,相应的内存、端口等连接资源都会被释放。从效果上来看就是TCP连接被关...
2022-12-09 13:57:00 1.0w浏览 3点赞 0回复 2收藏
我们先来聊聊你这大半年都做了哪些事情吧。你做的这个事情,业务价值是什么?那你了解这个事情对业务的收益是什么吗?你了解后续业务规划是怎么样的吗?你对业务的规划有什么自己的想法吗?ok,看得出来你对业务的收益和规划都比较清晰,所以你完成了这些需求,也取得了不少结果。但这是业务需求本身的价值,你正好分到了一个容易取得结果的需求,但这是业务属性决定的,你不能说A需求业务价值比B需求更容易拿到结果,其他同事...
2022-12-09 11:57:12 4383浏览 0点赞 0回复 0收藏
我们先来说下标题是什么意思。为了更好的理解我说的是啥,我们来举个例子。假设你现在在做一个类似B站的系统,里面放了各种视频。用户每天在里头上传各种视频。按理说每个视频都要去审查一下有没有搞颜色,但总不能人眼挨个看吧。毕竟唐老哥表示这玩意看多了,看太阳都是绿色的,所以会有专门训练过的算法服务去做检测。但也不能上来就整个视频每一帧都拿去做审查吧,所以会在每个视频里根据时长和视频类型随机抽出好几张图片去...
2022-12-09 11:56:14 2733浏览 0点赞 0回复 0收藏
兄弟们。浅浅的炫个富吧。说出来你们可能不信。手机你们有吗?我有。短信,知道吧?一条一毛钱,我天天发。你敢想吗?所以说,年轻人,有钱是真的好。今天,我们就以短信为话题聊起。短信,它又叫SMS。比如说,你有一张短信表(sms),里面放了各种需要发送的短信信息。需要注意的是state字段,为0的时候说明这时候短信还未发送。此时还会有一个异步线程不断的捞起未发送(state0)的短信数据,执行发短信操作,发送成功之后state...
2022-12-09 11:53:20 3102浏览 0点赞 0回复 0收藏
我想起了我刚工作的时候,第一次接触RPC协议,当时就很懵,我HTTP协议用的好好的,为什么还要用RPC协议?于是就到网上去搜。不少解释显得非常官方,我相信大家在各种平台上也都看到过,解释了又好像没解释,都在用一个我们不认识的概念去解释另外一个我们不认识的概念,懂的人不需要看,不懂的人看了还是不懂。这种看了,又好像没看的感觉,云里雾里的很难受,我懂。为了避免大家有强烈的审丑疲劳,今天我们来尝试重新换个方式...
2022-12-09 11:50:47 3378浏览 0点赞 0回复 0收藏