12 2022 档案

摘要:过期策略 过期策略-DB结构 Redis本身是一个典型的key-value内存存储数据库,因此所有的key、value都保存在之前学习过的Dict结构中。不过在其database结构体中,有两个Dict:一个用来记录key-value;另一个用来记录key-TTL。 过期策略-惰性删除 惰性删除 : 阅读全文
posted @ 2022-12-15 16:51 原来是晴天啊 阅读(115) 评论(0) 推荐(0) 编辑
摘要:用户空间和内核空间 任何Linux发行版,其系统内核都是Linux。我们的应用都需要通过Linux内核与硬件交互 , 为了避免用户应用导致冲突甚至内核崩溃,用户应用与内核是分离的: 进程的寻址空间会划分为两部分:内核空间、用户空间 用户空间只能执行受限的命令(Ring3),而且不能直接调用系统资源, 阅读全文
posted @ 2022-12-15 16:32 原来是晴天啊 阅读(147) 评论(0) 推荐(0) 编辑
摘要:String String是Redis中最常见的数据存储类型: 其基本编码方式是RAW,基于简单动态字符串 (SDS)实现,存储上限为512mb。 需要申请两次内存 如果存储的SDS长度小于44字节,则会采用EMBSTR编码,此时obiect head与SDS是一段连续空间。申请内存时只需要调用一次 阅读全文
posted @ 2022-12-14 16:46 原来是晴天啊 阅读(64) 评论(0) 推荐(0) 编辑
摘要:动态字符串SDS Redis中保存的Key是字符串,value往往是字符串或者字符串的集合。 Redis构建了一种新的字符串结构,称为简单动态字符串(Simple Dynamic tring),简称SDS 。 Redis是C语言实现的,不过Redis没有直接使用C语言中的字符串,因为C语言字符串存在 阅读全文
posted @ 2022-12-14 15:59 原来是晴天啊 阅读(69) 评论(0) 推荐(0) 编辑
摘要:生成全局 id id 使用Long 类型 ,8个字节 , 64 bit ID的组成部分: 符号位: 1bit,永远为0 时间戳:31bit,以秒为单位,可以使用69年 序列号:32bit,秒内的计数器,支持每秒产生2^32个不同ID 防止用户从id上推断出业务相关信息 ,为了增加ID的安全性,可以不 阅读全文
posted @ 2022-12-09 10:43 原来是晴天啊 阅读(61) 评论(0) 推荐(0) 编辑
摘要:缓存与数据一致性 操作缓存和数据库时有三个问题需要考虑 1.删除缓存还是更新缓存? 更新缓存:每次更新数据库都更新缓存,无效写操作较多 删除缓存:更新数据库时让缓存失效,查询时再更新缓存 2.如何保证缓存与数据库的操作的同时成功或失败? 单体系统,将缓存与数据库操作放在一个事务 分布式系统,利用TC 阅读全文
posted @ 2022-12-07 11:55 原来是晴天啊 阅读(52) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示