V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
Zuckonit
V2EX  ›  问与答

redis list 类型

  •  
  •   Zuckonit · 2014-07-29 15:31:27 +08:00 · 3132 次点击
    这是一个创建于 3770 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我现在用rpop取, 取完了, 这个key就会被删掉吗?

    另外如果brpop取得话, gevent手工sleep为啥也切换不了
    4 条回复    2014-07-29 17:07:02 +08:00
    jk2r
        1
    jk2r  
       2014-07-29 16:45:09 +08:00
    rpop取完,如果count未0,会有个del操作。

    gevent.sleep(0)有问题,贴代码吧。
    Zuckonit
        2
    Zuckonit  
    OP
       2014-07-29 16:46:29 +08:00
    @jk2r gevent这个已解决。 rpop这个有什么类似的不删的取值方法,
    flypiggy
        3
    flypiggy  
       2014-07-29 16:54:41 +08:00
    @Zuckonit 不改变数组可以用lindex取..
    如果用rpop的话取完了删掉也没啥影响呗
    jk2r
        4
    jk2r  
       2014-07-29 17:07:02 +08:00   ❤️ 1
    嗯,首先,我只能说,它就是按Queue做的。

    然后呢,为了一些只读的遍历需求,有了lindex和lrange。

    根据你说的rpop需求,不删,其实就是只写不读。可以配合llen使用,但是,只适合单点(单读,或单控制器)

    PS:如果你的redis要落地,list最好不要太长。之前用过20w的list,可能会有问题(多点rpop时,redis自带锁会产生大量Aof文件日志)。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1290 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 17:58 · PVG 01:58 · LAX 09:58 · JFK 12:58
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.