- 博客(2)
- 收藏
- 关注
原创 Redi底层数据结构
String的底层简单动态字符串(SDS) 第一篇文章我们就说过 Redis 是用 C 语言写的,但是对于Redis的字符串,却不是 C 语言中的字符串(即以空字符’\0’结尾的字符数组),它是自己构建了一种名为 简单动态字符串(simple dynamic string,SDS)的抽象类型,并将 SDS 作为 Redis的默认字符串表示。 SDS 定义如下: struct sdshdr{ //记录buf数组中已使用字节的数量 //等于 SDS 保存字符串的长度 int len
2021-11-16 20:38:25
949
原创 Redis面试相关问题
1.Redis 双写不一致导致的问题 背景:使用到缓存,无论是本数据库做缓存还是使用Redis 做缓存,那么就会存在数据同步的问题,因为配置信息缓存在内存中,而内存是无法感知到数据在数据库的修改。这样就造成数据不一致性的问题。 共有四种方案: 1.先更新数据库,后更新缓存。 2.先更新缓存,再更新数据库。 3.先删除缓存,后删除数据库。 4.先更新数据库,后更新缓存。 第一种和第二种方案,没有人使用的,因为第一种方案存在问题是:并发更新数据库场景下,会将脏数据刷到缓存。 第二种方案存在的问题是:如果先更新缓
2021-11-15 21:17:01
726
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人