2017-03-09 73 views
1

所以创建一组我可以做laravel redis用ttl创建一个集合?

Redis::sadd('example',[1,4,6,1,]) 

我尝试了许多变化还创造了一套具有TTL非奋力:

Redis::sadd('example',100,[1,4,6,1,]) 
Redis::sadd('example',[1,4,6,1,],100) 
Redis::saddex('example',100,[1,4,6,1,]) 
Redis::saddex('example',[1,4,6,1,],100) 
+3

您是否尝试过使用SADD后会过期吗? –

+0

@ChrisTanner yap其工作感谢,没有内置函数? –

+0

nope,想要过期整个集合的用例是什么?另一种数据类型可能更适合。 –

回答

1

有关更多的参考,如果你想检查是否[按SET键(在你的情况下,“例如”)的存在与否,你可以做FF:

建议1:(您首选什么)

$iTtlRedisKey = Redis::ttl('example'); 
if ($iTtlRedisKey <= 0) { 
    Redis::sadd('example', [1,4,6,1]); 
    Redis::expire('example', 30); 
} 

$aSortedExampleSets = Redis::smembers('example'); 
// array(3) { [0]=> string(1) "1" [1]=> string(1) "4" [2]=> string(1) "6" } 

建议2:使用[存在]方法

$bCheckRedisKey = Redis::exists('example'); 
if (boolval($bCheckRedisKey) !== true) { 
    Redis::sadd('example', [1,4,6,1]); 
    Redis::expire('example', 30); 
} 

$aSortedExampleSets = Redis::smembers('example'); 
// same results as well. 
+0

感谢它不完全是我问,但它确实显示如何使用过期方法:) –