2017-01-23 43 views
0

我在redis中有zset,如下所示。按值查找redis鍵zset - laravel

Type:zset 
TTL:does not expire [E] 
Encoding:ziplist 



Score     Value 
1      0358899056725255 

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

我有一個設備與每個連接上的動態ip唯一值(0358899056725255這裏)。當設備重新啓動時,其ip將會改變,因此我需要製作一個新的zset。我想刪除這個特定值的所有舊垃圾IP。

我TREID

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));