найти ключ redis по значению zset — laravel

У меня есть Zset в Redis, как показано ниже.

Type:zset
TTL:does not expire [E]
Encoding:ziplistScore                    Value
1                     0358899056725255

13                    {"voltage_level":"06","signal_strength":"02"}

У меня есть одно устройство с динамическим IP на каждом соединении с уникальным значением (0358899056725255 здесь). Каждый раз, когда устройство перезагружается, его ip будет изменен, в результате мне нужно сделать новый zset. Я хочу удалить все старые IP мусора для этого конкретного значения.

Что я трэйд

Redis::zadd($conn->remoteAddress, '01', $imei); //to add new ip
//scan all ip and check one by one
@start loop
$val=Redis::zrangebyscore($ip[$i], 01, 01);
if($val=='0358899056725255')
Redis::del($conn->remoteAddress);
@end loop

У меня более 10000 устройств, и я не хочу повторять, есть ли простые решения

0

Решение

я понял

Keep the expiry date on redis, which will be auto expired
 Redis::zadd($conn->remoteAddress, '01', $imei); //to add new ip
Redis::expire($conn->remoteAddress, (60*60*24*30));
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]