Java 在Redis中存储带有时间戳的值列表

Java 在Redis中存储带有时间戳的值列表,java,redis,vert.x,vertx3,Java,Redis,Vert.x,Vertx3,我正在使用Vertx和Redis,我需要存储三个字符(url、单词、日期) 单词是一个值列表,而不仅仅是一个长字符串,因为当我查询这些单词时,我想处理一个字符串列表。每次我检查Redis中是否存在URL时,都应该更新日期 所以我的问题是: 是否可以在Redis中存储一个值列表而不使用LPUSH或RPUSH之类的东西?我不想使用这些,因为每个URL大约有40个单词,我不想每次为一个URL创建40个请求 是否可以添加一个日期字段,以便每次查询时都可以更新?或者我应该检查它是否存在,以及它是否手动更新

我正在使用Vertx和Redis,我需要存储三个字符(url、单词、日期)

单词是一个值列表,而不仅仅是一个长字符串,因为当我查询这些单词时,我想处理一个字符串列表。每次我检查Redis中是否存在URL时,都应该更新日期

所以我的问题是:

  • 是否可以在Redis中存储一个值列表而不使用LPUSH或RPUSH之类的东西?我不想使用这些,因为每个URL大约有40个单词,我不想每次为一个URL创建40个请求
  • 是否可以添加一个日期字段,以便每次查询时都可以更新?或者我应该检查它是否存在,以及它是否手动更新 我已经看到了许多使用LPUSH(或类似的东西)解决这些问题的例子,但是正如我所说的,我想创建一个插入请求并完成它,类似地,我希望用尽可能少的(理想情况下是1)请求得到结果


    提前感谢

    如果您的Redis server>2.4,您可以同时使用多个值

    或者,您可以使用Redis一次执行多个命令


    我不知道有哪个命令允许您获取密钥的创建/更新日期,我认为您必须像这样手动创建密钥,您可以轻松使用Redis管道。此功能可以将批命令作为单个命令发送。以下是框架的示例:

    String[] urls = ...
    
    RBatch batch = redisson.createBatch();
    RList<String> list = batch.getList("yourList");
    for (int i = 0; i < 40; i++) {
          list.addAsync(urls[i]);
    }
    // send to Redis as single command
    batch.execute();
    
    String[]url=。。。
    RBatch batch=redisson.createBatch();
    RList list=batch.getList(“yourList”);
    对于(int i=0;i<40;i++){
    addAsync(URL[i]);
    }
    //作为单个命令发送到Redis
    batch.execute();