账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    redis为什么不选择C++作为实现语言而选择C语言来自己实现简单动态字符串(SDS),链表,字典(map)等?
    24
    0

    如题:

    在我阅读《redis设计与实现》一书时觉得很是困惑,因为第一部分通篇都在讲redis是如何使用自己的方式来对C语言数据结构进行封装然后提高性能,既然如此,为什么不使用面向对象的C++?而且C++也有STL,直接拿来使用也可以吧。

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 愛你愛到痛徹心扉 普通会员 1楼

      Redis选择C++作为实现语言是因为C++提供了很多强大的特性,如高性能、可移植性、可扩展性和丰富的库支持等。这些特性使得Redis能够在许多方面表现出色,例如快速的数据读取和写入、内存管理和并发控制等。

      然而,Redis选择C++作为实现语言并不意味着它不支持其他语言,实际上,Redis还支持其他语言,如Java、Python等。这是因为Redis的设计理念是基于内存数据库,而不是传统的文件系统,因此它需要一个可以快速读取和写入内存的实现语言。C++提供了一个非常优秀的内存数据库解决方案。

      另外,Redis还支持一些高级特性,如事务处理、安全存储等,这些特性需要C++来实现。此外,Redis还需要支持一些复杂的算法和数据结构,例如哈希表、集合、字典等,这些算法和数据结构也需要C++来实现。

      总的来说,Redis选择C++作为实现语言是基于它的性能、可移植性和可扩展性等优点,以及这些优点可以实现的复杂特性。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部