04 2021 档案
摘要:————— 两个月前 ————— 用户信息当然是存在数据库里。但是由于我们对用户系统的性能要求比较高,显然不能每一次请求都去查询数据库。 所以,小灰在内存中创建了一个哈希表作为缓存,每次查找一个用户的时候先在哈希表中查询,以此提高访问性能。 很快,用户系统上线了,小灰美美地休息了几天。 一个多月之后
阅读全文
摘要:1.纯内存KV 因为他的数据类型都在内存里面,高效的数据结构,Redis 支持的几种高效的数据结构 string(字符串)、hash(哈希)、list(列表)、set(集合)、zset(有序集合), 以上几种对外暴露的数据结构它们的底层编码方式都是做了不同的优化的。 2.单线程 避免了不必要的上下文
阅读全文
摘要:1.Redis为什么要自己实现一个SDS? 因为在c语言中,没有类似Java类型中的string类型,字符只能存储在char [ ]中,而char数组中的字符串分割使用“\0” ,这样就存在二进制的安全问题:图片视频音频存储时候使用二进制,所以如果使用char[ ]存储图片视频音频的二进制数据的话,
阅读全文
摘要:为每个用户定义一个set,存储该用户关注的用户集合,集合存储用户的唯一标识id,有了用户的关注人信息后可以做以下几个操作: 相互关注:用集合里自己关注的人的id,去查找该用户的关注人集合,看自己是否在集合中,如果在里面,说明自己关注的人也关注了自己。 我关注的人也关注了他: 用自己关注的人的集合,跟
阅读全文
摘要:题记—— 曹乐是典型学霸,清华本硕,多年互联网大厂研发经验,所以“资深”。我刚到新部门的时候,约各位合作部门的Leader请教,也算帮我做新岗位入职的“平稳降落”。印象最深的,就是作为技术Leader的曹乐,一点都不像技术——他和我谈对业务的理解,各个维度的见解与想法,让人印象深刻。然后,他很热情的
阅读全文
摘要:IF函数 IF(expr,v1,v2):如果表达式expr成立,那么返回v1,否则返回v2 例如:在table1中type字段存在值为-1的记录,现在对table1进行查询,如果该字段值为-1,就变为0,其他值不改变。 SELECT IF(type=-1, 0, type) as type FROM
阅读全文