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

redis 的 list 是不能去重的 set 可以 但是 set 的操作不如 list 灵活 那能不能用 set 给 list 去重呢

  •  
  •   jakeyfly · 2018-03-11 23:18:24 +08:00 · 6528 次点击
    这是一个创建于 2447 天前的主题,其中的信息可能已经有所发展或是发生改变。

    比如数据读写全部用 list

    读完一轮后 把这个 list 的数据全 pop 出来 然后装进 set 不是就去重了 然后再取出来 装回 list 只要在每次数据读取完后 进行这么一轮操作 是不是就又能去重 又能用 list 的特性?

    8 条回复    2018-04-18 10:50:47 +08:00
    changwei
        1
    changwei  
       2018-03-12 00:37:09 +08:00 via Android   ❤️ 1
    你需要 sorted list
    jakeyfly
        2
    jakeyfly  
    OP
       2018-03-12 03:01:01 +08:00
    @changwei 什么东西大佬
    iConnect
        3
    iConnect  
       2018-03-12 05:56:06 +08:00 via Android
    主要看你要不要排序的功能
    R18
        4
    R18  
       2018-03-12 07:06:14 +08:00 via Android
    那为什么不每次 push 之前都判断一下?
    dcalsky
        5
    dcalsky  
       2018-03-12 09:23:57 +08:00
    @R18 o(n) 不划算的
    julyclyde
        6
    julyclyde  
       2018-03-12 13:17:48 +08:00
    用 set 的话会丢失“顺序”
    你需要 sorted list
    jakeyfly
        7
    jakeyfly  
    OP
       2018-03-12 14:27:13 +08:00
    @julyclyde 不知道这是什么东西啊 搜出来的好像都不是
    tianju
        8
    tianju  
       2018-04-18 10:50:47 +08:00
    @jakeyfly 他们说的应该是 sort set ( zset ),以顺序作为 score,也可以用 list+set 的方式实现
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3822 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 05:16 · PVG 13:16 · LAX 21:16 · JFK 00:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.