腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
首页
学习
活动
专区
工具
TVP
最新优惠活动
返回腾讯云官网
XINDOO的专栏
专栏成员
举报
291
文章
193690
阅读量
34
订阅数
订阅专栏
申请加入专栏
全部文章(291)
编程算法(102)
java(37)
python(14)
云数据库 Redis(13)
linux(12)
缓存(11)
dp(11)
数据(11)
c++(10)
github(10)
网站(10)
网络安全(9)
数据结构(9)
https(9)
sql(8)
javascript(7)
node.js(7)
数据库(7)
存储(7)
开源(7)
git(6)
api(6)
hashmap(6)
腾讯云开发者社区(6)
ffmpeg(6)
编码(6)
视频(6)
其他(5)
spring(5)
神经网络(5)
文件存储(5)
http(5)
容器(5)
jdk(5)
入门(5)
字符串(5)
运维(4)
正则表达式(4)
tcp/ip(4)
数据分析(4)
sum(4)
工具(4)
函数(4)
算法(4)
机器学习(3)
ios(3)
bash(3)
html(3)
jquery(3)
云数据库 SQL Server(3)
unix(3)
bash 指令(3)
深度学习(3)
命令行工具(3)
腾讯云测试服务(3)
分布式(3)
jvm(3)
面向对象编程(3)
int(3)
max(3)
博客(3)
命令行(3)
模型(3)
配置(3)
数组(3)
搜索(3)
性能(3)
性能优化(3)
压缩(3)
对象存储(2)
php(2)
lua(2)
json(2)
打包(2)
搜索引擎(2)
TDSQL MySQL 版(2)
人工智能(2)
爬虫(2)
wordpress(2)
mybatis(2)
二叉树(2)
安全(2)
机器人(2)
windows(2)
网站建设(2)
hbase(2)
chatgpt(2)
dfs(2)
input(2)
it(2)
limit(2)
list(2)
mp4(2)
netty(2)
openai(2)
output(2)
redis(2)
using(2)
编程(2)
并发(2)
动态规划(2)
二进制(2)
翻译(2)
排序(2)
软件(2)
视频编码(2)
系统(2)
线程池(2)
源码(2)
注解(2)
云服务器(1)
负载均衡(1)
iphone(1)
c 语言(1)
regex(1)
xml(1)
ide(1)
ubuntu(1)
windows server(1)
负载均衡缓存(1)
nginx(1)
容器镜像服务(1)
apt-get(1)
日志服务(1)
访问管理(1)
cci 持续集成(1)
vr 视频解决方案(1)
kubernetes(1)
devops(1)
游戏(1)
自动化(1)
黑客(1)
shell(1)
ssh(1)
grep(1)
cdn(1)
scrapy(1)
markdown(1)
udp(1)
大数据(1)
微信(1)
kafka(1)
agent(1)
awk(1)
between(1)
binary(1)
chrome(1)
constraints(1)
contains(1)
coordinates(1)
data(1)
dataframe(1)
difference(1)
distribution(1)
double(1)
each(1)
exception(1)
function(1)
google(1)
guava(1)
height(1)
import(1)
init(1)
integer(1)
io(1)
ip(1)
jpeg(1)
line(1)
map(1)
perfect(1)
prefix(1)
protobuf(1)
publish(1)
random(1)
sample(1)
sequence(1)
sh(1)
shuffle(1)
string(1)
subset(1)
synchronized(1)
text(1)
threadpoolexecutor(1)
time(1)
tools(1)
trie(1)
txt(1)
types(1)
validation(1)
vector(1)
wait(1)
websocket(1)
xargs(1)
笔记(1)
编程语言(1)
遍历(1)
变量(1)
测试(1)
插件(1)
程序(1)
程序员(1)
磁盘(1)
递归(1)
地图(1)
队列(1)
对象(1)
工作(1)
后端(1)
技巧(1)
计算机(1)
教程(1)
解决方案(1)
客户端(1)
连接(1)
内存(1)
年终总结(1)
苹果(1)
软件开发(1)
设计模式(1)
摄像头(1)
事件(1)
数学(1)
索引(1)
统计(1)
图表(1)
网络(1)
线程(1)
协议(1)
异常(1)
优化(1)
语法(1)
指针(1)
搜索文章
搜索
搜索
关闭
详解Redisson分布式限流的实现原理
分布式
存储
lua
云数据库 Redis
数据库
我们目前在工作中遇到一个性能问题,我们有个定时任务需要处理大量的数据,为了提升吞吐量,所以部署了很多台机器,但这个任务在运行前需要从别的服务那拉取大量的数据,随着数据量的增大,如果同时多台机器并发拉取数据,会对下游服务产生非常大的压力。之前已经增加了单机限流,但无法解决问题,因为这个数据任务运行中只有不到10%的时间拉取数据,如果单机限流限制太狠,虽然集群总的请求量控制住了,但任务吞吐量又降下来。如果限流阈值太高,多机并发的时候,还是有可能压垮下游。 所以目前唯一可行的解决方案就是分布式限流。
xindoo
2023-02-11
1.8K
0
Redis源码剖析之RDB
云数据库 Redis
我们小学三年级的时候就知道,redis是一个纯内存存储的中间件,那它宕机会怎么样?数据会丢失吗?答案是可以不丢。 事实上redis为了保证宕机时数据不丢失,提供了两种数据持久化的机制——rdb和aof。
xindoo
2021-03-29
635
0
Redis源码剖析之内存淘汰策略(Evict)
云数据库 Redis
Redis作为一个成熟的数据存储中间件,它提供了完善的数据管理功能,比如之前我们提到过的数据过期和今天我们要讲的数据淘汰(evict)策略。在开始介绍Redis数据淘汰策略前,我先抛出几个问题,帮助大家更深刻理解Redis的数据淘汰策略。
xindoo
2021-02-28
352
0
Redis源码剖析之数据过期(expire)
云数据库 Redis
我之前统计过我们线上某redis数据被访问的时间分布,大概90%的请求只会访问最新15分钟的数据,99%的请求访问最新1小时的数据,只有不到千分之一的请求会访问超过1天的数据。我们之前这份数据存了两天(近500g内存数据),如果算上主备的话用掉了120多个Redis实例(一个实例8g内存),光把过期时间从2天改成1天就能省下60多个redis实例,而且对原业务也没有啥太大影响。
xindoo
2021-01-26
973
0
我的2020总结
云数据库 Redis
腾讯云开发者社区
对于大多数人来说,2020年啥也没干,就光见证历史了。前一段时间华盛顿邮报向读者征集如何描述2020年,一个九岁小孩拔得头筹。 过马路前你左右都看了,结果被潜水艇给撞了。 一句简单的调侃却道出了这一年的魔幻。
xindoo
2021-01-22
399
0
Redis源码剖析之SDS(Simple Dynamic String)
云数据库 Redis
数据结构
api
编程算法
https
SDS(simple dynamic string)是Redis提供的字符串的封装,在redis中也是存在最广泛的数据结构,它也是很多其他数据结构的基础,所以才选择先介绍SDS。 SDS也兼容部分C字符串API(strcmp,strlen),它如何兼容C字符串我觉得也是有个很sao的操作,等看完我这篇博客你就明白了。在开始正式内容前,我先抛几个问题(有些也是面试高频题),带着问题去学习也是一种非常好的学习方法。
xindoo
2021-01-22
474
0
Redis源码剖析开篇
云数据库 Redis
github
git
开源
https
今年我启动了好几个比较有挑战的个人项目,比如写一门编程语言、成为一名视频UP主、写科幻小说…… 这些项目目前进度都很堪忧,一方面这些项目挑战都比较大,另一方面业余时间还要忙着吃吃喝喝、追剧、刷综艺、睡懒觉…… 不过有个项目进度不至于那么不堪,那就是今天的猪脚——《Redis源码剖析》系列博文,今天也是这个系列博文的开篇。为此,我也在github上建立了中文注解版的Redis源码库,详见https://github.com/xindoo/redis,目前已经添加近700行的中文注释,欢迎Star和关注。
xindoo
2021-01-22
485
0
生日悖论是啥?我用它省了上百G的内存
分布式
云数据库 Redis
生日悖论: 是指在不少于 23 个人中至少有两人生日相同的概率大于 50%。例如在一个 30 人的小学班级中,存在两人生日相同的概率为 70%。对于 60 人的大班,这种概率要大于 99%。从引起逻辑矛盾的角度来说,生日悖论并不是一种 “悖论”。但这个数学事实十分反直觉,故称之为一个悖论。
xindoo
2021-01-22
1.2K
0
Redis源码剖析之压缩列表(ziplist)
云数据库 Redis
存储
api
编程算法
文件存储
本来打算只用一篇文章来讲解Redis中的list,在实际写作过程中发现Redis中有多种list的实现,所以准备拆成多篇文章,本文主要讲ziplist,ziplist也是quicklist的基础。另外还有skiplist,skiplist虽然是list,当主要和set命令相关,所以会放到后面。 本文主要涉及到的源码在ziplist.c
xindoo
2021-01-21
642
0
Redis源码剖析之快速列表(quicklist)
文件存储
云数据库 Redis
编程算法
数据结构
何为quicklist,上次说到ziplist每次变更的时间复杂度都非常高,因为必须要重新生成一个新的ziplist来作为更新后的list,如果一个list非常大且更新频繁,那就会给redis带来非常大的负担。如何既保留ziplist的空间高效性,又能不让其更新复杂度过高? redis的作者给出的答案就是quicklist。
xindoo
2021-01-21
908
0
Redis源码剖析之跳表(skiplist)
编程算法
数据结构
云数据库 Redis
https
网络安全
计算机领域有很多种数据结构,数据结构的存在要么是为了节省时间、要么是为了节省空间,或者二者兼具,所以就有部分数据结构有时间换空间,空间换时间之说。其实还有某些以牺牲准确性来达到节省时间空间的数据结构,像我之间讲过的bloomfilter就是其中的典型。而今天要讲的skiplist也是一种概率性数据结构,它以一种随机概率降数据组织成多级结构,方便快速查找。
xindoo
2021-01-21
931
0
Redis源码剖析之robj(redisObject)
云数据库 Redis
缓存
编程算法
https
网络安全
我们在之前的文章中已经了解过一部分Redis的数据结构了,尤其是dict 中讲到,可以把redis看做一个hashtable,存储了一堆的key-value,今天就来看下key-value中value的主要存储结构redisObject(后文统称robj)。 robj的详细代码见object.c
xindoo
2021-01-21
559
0
局部性原理——各类优化的基石
打包
大数据
云数据库 Redis
cdn
缓存
学过计算机底层原理、了解过很多架构设计或者是做过优化的同学,应该很熟悉局部性原理。即便是非计算机行业的人,在做各种调优、提效时也不得不考虑到局部性,只不过他们不常用局部性一词。如果抽象程度再高一些,甚至可以说地球、生命、万事万物都是局部性的产物,因为这些都是宇宙中熵分布布局、局部的熵低导致的,如果宇宙中处处熵一致,有的只有一篇混沌。
xindoo
2021-01-21
1.7K
0
没有更多了
社区活动
【纪录片】中国数据库前世今生
穿越半个世纪,探寻中国数据库50年的发展历程
立即查看
Python精品学习库
代码在线跑,知识轻松学
立即查看
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
立即体验
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
立即查看
领券
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档