php - 按值 zset 查找 redis 键 - laravel

标签 php laravel redis zset

我在 redis 中有 zset,如下所示。

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。

我遇到了什么

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

我有 10,000 多台设备,我不想重复,有没有一些简单的解决方案

最佳答案

我想通了

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

关于php - 按值 zset 查找 redis 键 - laravel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41799553/

相关文章:

node.js 无法使用 docker-compose 连接到 redis?

php - 如何创建一个 SEO 友好的 URL 来合并 PHP 变量/代码段?

javascript - Ajax返回值显示代码

php - 查询生成器 - 结合 orderBy 和 groupBy

javascript - 在 Laravel 中使用 Ajax 在引导模式上显示数据库

django - 如何使用redis数据库在django中实现一致性哈希?

c# - 使用 PooledRedisClientManager() 连接到 Ubuntu 虚拟机上的远程 Redis 实例

php - 将输入文本框值获取到 WordPress 中的 PHP 变量中

php - mcrypt_generic 与 mcrypt_encrypt

php - Laravel 命令 - 只有可选参数