• 墨禾
    2019-09-11
    为什么要设计成单线程?
    1.单线程减少了cpu资源的争用,避免了上下文的切换。
    2.基于内存读写,单线程读写耗时更少。

    为啥redis单线程模型也能效率这么高?

    1)纯内存操作
    2)核心是基于非阻塞的IO多路复用机制
    3)单线程反而避免了多线程的频繁上下文切换问题
    展开

    作者回复: 解释的很好,大家都可以看下

     1
     8
  • jxs1211
    2019-09-08
    老师能否讲下mongodb,以及redis和mongodb的差别,实际使用时选择应该做哪些方面的考虑

    作者回复: Redis是Key-Value数据库,数据存放在内存中,查询和写入都是在内存中进行操作。当然Redis也支持持久化,只是持久化只是Redis的功能之一,并不是Redis的强项。通常,你可以把Redis称之为缓存。支持的数据类型丰富,包括字符串、哈希、列表、集合、有序集合,同时还支持基数统计,地理空间以及索引半径查询,数据流等。
    MongoDB是面向文档数据库,功能强大,是非关系型数据库中最像关系型数据库的,处理增删改查也可以增加条件,类似于RDBMS一样灵活。
    在存储方式上,Redis将数据放在内存中的,通过RDB或者AOF方式进行持久化。
    而MongoDB实际上数据是存放在磁盘上的,只是通过mmap调用将数据映射到内存中,所以你可以将mmap理解成为加速的方式。mmap调用可以使得对普通文件的操作像是在内存中进行读写一样,这是因为它将文件映射到调用进程的地址空间中,实现了文件所在的磁盘物理地址与进程空间的虚拟地址一一映射的关系,这样就可以直接在内存中进行操作,然后写完成之后同步一下就可以存放到文件中,效率非常高。
    不过在使用选择的时候,我们还是将 MongoDB 归为数据库,而Redis归为缓存。
    总的来说,Redis就像是一架飞机一样,查询及写入性能极佳,但是存储的数据规模有限。
    MongoDB就像是高铁一样,在处理货物(数据)的功能上强于Redis,同时能承载的数据量也很大,远高于Redis,但是查询及写入的效率不及Redis。

    
     6
  • 我叫徐小晋
    2019-12-15
    老师您好,我运行了python的那一段读写程序,发现单单1000个花的时间就是8秒。
    
    
  • 暮雨
    2019-11-05
    redis的单线程怎么理解?查看redis服务不至一个线程
    
    
  • Coool
    2019-10-28
    为什么使用单线程?
    1、代码更清晰,处理逻辑更简单
    2、不用去考虑各种锁的问题,不存在加锁释放锁操作,没有因为可能出现死锁而导致的性能消耗
    3、不存在多进程或者多线程导致的切换而消耗CPU

    作者回复: 对 总结的不错

    
    
  • 旅行箱和梦想
    2019-09-25
    老师,后面还有mongo的课程吗?

    作者回复: 写了Redis,还没整理MongoDB,只简单梳理了下Redis和MongoDB在使用上的区别

    
    
  • xcoder
    2019-09-20
    不好意思,我觉得这个课程对初学者,或者完全没接触过python和redis的同学来说不太友好吧。还得补充很多知识,安装python和redis,如何操作等等。。。这些都还需要网上找下教程,虽然最近都有在看起来,但觉得学起来还是有点力不从心,越到后面感觉评论的人也越来越少了,不知道后面的课时学的人也是不是越来越少了

    作者回复: Python在专栏里确实没有讲解,如果之前有编程语言基础,掌握起来不难。专栏里使用到的也是基础的语法。Redis如果之前没有接触过,到是不影响,因为这节主要是Redis初识,可以跟着做遍练习,对Redis多一些了解

     2
    
  • 许童童
    2019-09-06
    跟着老师一起精进。加油。

    作者回复: 加油!

    
    
  • 学习
    2019-09-06
    文中多次提到key-filed-value,是field还是filed啊!!!!

    Redis采用单进程单线程模型,这样做的好处就是避免了上下文切换和不必要的线程之间引起的资源竞争。这样就会很快。

    Redis采用多路I/O复用技术,这样就会解决单线程慢效率弊端,其中有个集群模式,能支持多客户端使用

    作者回复: 是field,代表字段的含义

    
    
  • 有所思
    2019-09-06
    老师,为什么你讲的Redis底层数据结构和王争讲的数据结构与算法课里面的有些不一样,他说的里面redis会根据数据大小和数量选择不同的数据结构,而且有序集合用的是跳表实现,有点蒙
     4
    
我们在线,来聊聊吧