保存成功
订阅成功
保存失败,请重试
提交成功
神技圈子

神技圈子

存储开发专家
八年以上大数据存储开发(分布式文件系统、分布式数据库系统及对象存储系统等)老兵,目前在阿里云,曾在菊厂、蚂蚁金服工作过。LeetCode刷题狂,合伙创业的AI公司拿到过A轮融资,请多指教...更多
创作文章3
开设专栏1

Redis 如何设计及使用内存友好的数据结构?

Redis 作为内存数据库,高效地使用内存对 Redis 来说肯定是必不可少的。实际上主要通过两方面技术来保证。一方面是控制数据对内存的消耗,主要按照一定的淘汰策略自动淘汰(Evict)一些缓存数据,比如采用 LRU 将最近很少使用的数据淘汰掉(基于数据的访问时间)。另一方面则是设计优化了数据结构并对它们进行了使用。 本场我们继续通过 Redis 源码分析,带大家了解 Redis 为了提升内存使用效率是如何设计优化及使用数据结构的。 本场 Chat 主要会讲到以下两部分内容: 1. Redis 是如何设计内存友好的数据结构 2. Redis 如何使用这些数据结构的 适合人群:对 Redis 开发及使用感兴趣的开发人员。
Redis
60 订阅

Redis 如何实现一个高性能的哈希表

哈希表应用非常广泛,主要原因是它能以 O(1) 的时间复杂度快速查询数据。它基于哈希函数进行计算出的哈希值,然后定位数据表中的位置从而使得数据操作非常快。在实际应用中随着数量不断增加,它的性能经常会受到哈希冲突和 Rehash(重新散列)开销这两个问题的影响。下面将讲一下 Redis 是如何解决这两个问题的。 在本场 Chat 中,会将讲到如下内容: 1. Redis如何实现链式哈希 2. Redis如何实现 Rehash 3. Rehash 什么时候触发 4. Rehash 可以扩容到多大 5. Redis 如何降低 Rehash 开销
Redis
77 订阅

文件描述符继承的消除

面试过程中,面试官可能会问到这样一个问题。当父进程创建子进程时,无论是使用 fork 函数或者 vfork 函数,子进程通常都会继承父进程的文件描述符。所谓的继承,其实就是子进程可以使用相同的文件描述和父进程操作同个文件对象,这种做法可能会造成的冲突以及权限安全隐患等问题。那么该怎么解决呢。 最好的解决办法即在创建完子进程后,立马把它继承而来的文件符给关闭了。 在本场 Chat 中,会讲到如下内容: - 读目录的基本操作 - 如何关闭继承的文件描述符 适合人群:对 Linux 系统开发有兴趣的技术人员以及面试后台开发岗位的毕业生
Linux
77 订阅