Java Redis中成员的到期时间

Java Redis中成员的到期时间,java,redis,jedis,Java,Redis,Jedis,我正在使用绝地客户端在Redis中存储地理坐标 有没有办法为Redis中的成员设置过期时间?我知道,我可以设定钥匙的有效期 例如,我在下面添加了三个坐标,现在我想在10秒内终止“Bahn”成员 redis.geoadd(key, 8.6638775, 49.5282537, "Weinheim"); redis.geoadd(key, 8.3796281, 48.9978127, "EFS9"); redis.geoadd(key, 8.665351, 49.553302, "Bahn");

我正在使用绝地客户端在Redis中存储地理坐标

有没有办法为Redis中的成员设置过期时间?我知道,我可以设定钥匙的有效期

例如,我在下面添加了三个坐标,现在我想在10秒内终止“Bahn”成员

redis.geoadd(key, 8.6638775, 49.5282537, "Weinheim"); 
redis.geoadd(key, 8.3796281, 48.9978127, "EFS9");
redis.geoadd(key, 8.665351, 49.553302, "Bahn"); 

在幕后,GEOADD使用ZSET存储其数据

您可以使用常规ZADD命令将相同的数据(不带地理位置)存储在第二个ZSET中,这次使用unix时间戳作为score

ZADD expirationzset <expiration date> <data> 
ZADD expirationzset
您可以使用以下命令从第二个ZSET获取过期数据

ZRANGEBYSCORE expirationzset -inf <current unix timestamp>
ZRANGEBYSCORE expirationzset-inf
然后,您必须从两个ZSET中删除它们,使用ZREM作为地理位置ZSET,使用ZREMRANGEBYSCORE作为过期ZSET:

ZREM geolocationzset <expired_data1> <expired_data3> <expired_data3>...
ZREMRANGEBYSCORE expirationzset -inf <current unix timestamp>
ZREM地理定位集。。。
ZREMRANGEBYSCORE过期zSet-inf

在幕后,GEOADD使用ZSET存储数据

您可以使用常规ZADD命令将相同的数据(不带地理位置)存储在第二个ZSET中,这次使用unix时间戳作为score

ZADD expirationzset <expiration date> <data> 
ZADD expirationzset
您可以使用以下命令从第二个ZSET获取过期数据

ZRANGEBYSCORE expirationzset -inf <current unix timestamp>
ZRANGEBYSCORE expirationzset-inf
然后,您必须从两个ZSET中删除它们,使用ZREM作为地理位置ZSET,使用ZREMRANGEBYSCORE作为过期ZSET:

ZREM geolocationzset <expired_data1> <expired_data3> <expired_data3>...
ZREMRANGEBYSCORE expirationzset -inf <current unix timestamp>
ZREM地理定位集。。。
ZREMRANGEBYSCORE过期zSet-inf

对此没有内置支持。你的情况是什么?我正在存储少数用户的地理位置,我想在一段时间后使这些位置过期。没有内置的支持。您的情况是什么?我正在存储少数用户的地理位置,我想在一段时间后使这些位置过期。谢谢!基于此,我能够用Java实现一个逻辑。谢谢!基于此,我能够用Java实现一个逻辑。