Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
没有maxlen选项来限制spring data reactive Redis模板中的流大小_Spring_Redis_Spring Webflux_Spring Data Redis - Fatal编程技术网

没有maxlen选项来限制spring data reactive Redis模板中的流大小

没有maxlen选项来限制spring data reactive Redis模板中的流大小,spring,redis,spring-webflux,spring-data-redis,Spring,Redis,Spring Webflux,Spring Data Redis,我正在使用反应式redis模板试用SpringDataRedis。但是,到目前为止,我还没有找到限制流大小的Xargs 基本实现在本机实现中具有该选项: commands .xadd(streamKey, XAddArgs.Builder.maxlen(200L), eventKey, record); 但是,此选项在RedisTemplateAFAIK中不可用。maxlen选项是不可避免的,因为流可能呈指数增长 如果有人遇到它,你能给我指出正确的地方吗 谢谢大家。在R

我正在使用反应式redis模板试用SpringDataRedis。但是,到目前为止,我还没有找到限制流大小的
Xargs

基本实现在本机实现中具有该选项:

commands
    .xadd(streamKey, XAddArgs.Builder.maxlen(200L), eventKey,
        record);
但是,此选项在
RedisTemplate
AFAIK中不可用。
maxlen
选项是不可避免的,因为流可能呈指数增长

如果有人遇到它,你能给我指出正确的地方吗

谢谢大家。

在RedisTemplate的
[StreamOperations][1]
界面中不支持with
MAXLEN

您可以使用
trim(K键,长计数)
()添加(…),以获得类似的效果。这两个命令将同时发送,因此您只有一个往返时间

XADD
相比,
XTRIM
是一项昂贵的操作。时不时地考虑在一个单独的逻辑上进行修剪,而不是与每个<代码> xADD> /COD> 遗憾的是,
MAXLEN~
似乎也不受支持,因此我们只能在RedisTemplate上进行精确计数修剪。

RedisTemplate的
[StreamOperations][1]
界面中不支持with
MAXLEN

您可以使用
trim(K键,长计数)
()添加(…),以获得类似的效果。这两个命令将同时发送,因此您只有一个往返时间

XADD
相比,
XTRIM
是一项昂贵的操作。时不时地考虑在一个单独的逻辑上进行修剪,而不是与每个<代码> xADD> /COD>

遗憾的是,<代码> Max L~~/代码>似乎也不支持,所以我们只在ReDistMePoT上进行精确的计数修剪。

我找不到它,考虑用Time-()添加流水线Ad(),以获得相同的效果,不知道有修剪功能。将尝试并发布反馈。这就像每次向流中添加元素时的2次操作一样。你觉得怎么样@LeoMurillo?是的,但是XTRIM很贵。与使用MAXLEN的XADD相比,这两个命令管道化应该可以忽略不计。@LeoMurillo感谢您指出这一点。首先,我假设你说的是
事务
,你说的是
流水线
。如果是这样的话,这对我来说有点问题,因为我正在处理集群,并且由于拓扑问题,通常不建议运行事务。话虽如此,我确实搜索了不同的管道方式,但找不到具体的方法来
管道
修剪()
添加()
。你能指出一个例子吗?我找不到它,考虑用Trimes()添加流水线Ad()来获得相同的效果,不知道有一个修剪函数。将尝试并发布反馈。这就像每次向流中添加元素时的2次操作一样。你觉得怎么样@LeoMurillo?是的,但是XTRIM很贵。与使用MAXLEN的XADD相比,这两个命令管道化应该可以忽略不计。@LeoMurillo感谢您指出这一点。首先,我假设你说的是
事务
,你说的是
流水线
。如果是这样的话,这对我来说有点问题,因为我正在处理集群,并且由于拓扑问题,通常不建议运行事务。话虽如此,我确实搜索了不同的管道方式,但找不到具体的方法来
管道
修剪()
添加()
。你能举个例子吗?非常感谢LeoMurillo!那帮了大忙!非常感谢@LeoMurillo!那帮了大忙!