IT宅
A brief history of the future of AI in education
网络
网络协议
网络编程
存储
Redis
MySQL
架构
重构速查表
架构模式
分布式
Dubbo
消息队列
精进之路
网络
MySQL
Redis
MQ
JVM
所有专栏
专栏推荐
查看更多
架构解码:模式与实践
软件架构与模式
JVM速成手册
JVM相关内容
网络协议
详解网络分层和网络协议工作原理
并发编程
并发编程原理和应用
数据结构与算法
数据结构与算法知识详解
重构速查表
重构的相关技能
MySQL
洞悉MySQL底层架构与SQL调优本质
Redis
洞悉Redis技术内幕:缓存,数据结构,并发,集群与算法
Redis
10
洞悉Redis技术内幕:缓存,数据结构,并发,集群与算法
今天,我们来详细聊聊Redis技术内幕。
缓存
Redis
Codis
作者:帅旋
|
发表于 2021-06-16
|
分类于
存储
Redis存储篇内容概览
既然要把数据放到内存中,就需要提供索引数据的方式,常见的索引实现技术有:Hash表,B+树,字典树等。MySQL中的索引是通过B+树实现的。而Redis作为KV内存数据库,其是采用哈希表来实现索引的。
Redis
作者:帅旋
|
发表于 2021-06-16
|
分类于
存储
Redis内存数据结构 | sds,linkedlist,hash,skiplist,intset,ziplist,quicklist
redis主要的数据类型有:String,List,Hash,Set,SortedSet,也称为对象,而这些数据类型,底层是基于特定的数据结构来实现的。
Redis
作者:帅旋
|
发表于 2021-06-16
|
分类于
存储
Redis中的对象 | string,list,hash,set,zset,module,stream
对象可以理解为Redis的数据类型,数据类型底层可以使用不同的数据结构来实现。
Redis
作者:帅旋
|
发表于 2021-06-16
|
分类于
存储
Redis高级功能 | bitmap,hyperloglog,bloom-filter,geospatial
基于基础的数据类型,Redis扩展了一些高级功能,如下图所示:
Redis
作者:帅旋
|
发表于 2021-06-16
|
分类于
存储
Redis内存数据库篇内容概览
Redis
作者:帅旋
|
发表于 2021-06-16
|
分类于
存储
Redis持久化方式 | rdb,aof
Redis是一个内存的键值对数据库,但是要是服务进程挂了,如何恢复数据呢?这个时候我们就要来讲讲Redis的持久化了。
缓存
Redis
Codis
作者:帅旋
|
发表于 2021-06-16
|
分类于
存储
Redis读写键的时候内部都做了什么操作?
当通过命令对数据库进行了读写之后,Redis同时会做一些维护工作:
缓存
Redis
Codis
作者:帅旋
|
发表于 2021-06-16
|
分类于
存储
Redis是如何存储键的过期时间的?
EXPIRE key seconds,设置key的生存秒数; PEXPIRE key milliseconds,设置key的生存毫秒数; EXPIREAT key timestamp,设置key的过期时间戳(秒); PEXPIREAT key timestamp,设置key的过期时间戳(毫秒) SETEX,设置一个字符串的过期时间; TTL与PTTL,接收一个带有生存时间的键,返回键的剩余生成时间。
Redis
作者:帅旋
|
发表于 2021-06-16
|
分类于
存储
Redis中如何删除过期键
在程序设计中,处理过期键有三种策略:定时删除、惰性删除和定期删除。Redis结合使用惰性删除和定期删除来高效管理数据过期。惰性删除在接收到读写命令时判断键是否过期,过期则删除。定期删除则是定时从数据库中随机选取键进行过期检查。对于从库中的键过期问题,主库过期键的删除操作会同步到从库,从库不会自行删除过期键,以保持缓存一致性。从Redis 3.2版本开始,从库在读取键时会先检查是否过期,过期则返回nil,避免读取到过期键。为防止主从同步延迟导致的数据不一致,建议使用EXPIREAT命令直接设置过期时间。
缓存
Redis
Codis
作者:帅旋
|
发表于 2021-06-16
|
分类于
存储
1
2
3
…
5
×
IT宅
关注公众号及时获取网站内容更新。
请帅旋喝一杯咖啡
咖啡=电量,给帅旋充杯咖啡,他会满电写代码!