无法在spring-data-redis事务中查询列表

时间:2016-04-21 08:47:24

标签: redis spring-data-redis

    template.setEnableTransactionSupport(true);
    template.multi();
    template.opsForValue().set("mykey", "Hello World");
    List<String> dataList = template.opsForList().range("mylist", 0, -1);
    template.exec();
你好。 我有一个名为&#34; mylist&#39;在我的redis中它的大小是50。

但是当我运行这段代码时,我无法得到我想要的东西。

字段&#34; dataList&#34;但是,&#34; mykey&#34;价值&#34; Hello World&#34;我坚持不懈。

那么如何在spring-data-redis事务中获取列表数据呢?非常感谢。

1 个答案:

答案 0 :(得分:1)

SD-Redis中的事务支持有助于参与正在进行的事务并允许自动提交(exec)/ rollback(discard),因此它有助于将命令包装到使用该命令的线程绑定多个exec块中连接。
更一般地说,redis transactions并且事务中的命令在服务器端排队并返回exec上的结果列表。

template.multi();

// queue set command
template.opsForValue().set("mykey", "Hello World"); 

// queue range command
List<String> dataList = template.opsForList().range("mylist", 0, -1);

// execute queued commands
// result[0] = OK
// result[1] = {"item-1", "item-2", "item-", ...}
List<Object> result = template.exec();