php - laravel redis 使用 ttl 创建一个集合?

标签 php laravel laravel-5 redis predis

所以为了创建一个集合我可以做

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)

最佳答案

作为附加引用,如果您想检查 [sorted set] 键(在您的情况下为“示例”)是否存在,您可以执行以下操作:

建议 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" }

建议二:使用[exists]方法

$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.

关于php - laravel redis 使用 ttl 创建一个集合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42697497/

相关文章:

php - 在数据库迁移中添加一个 `tsrange` 列

php - 将新的 Laravel 项目部署到实时服务器 - 内部页面链接不起作用

laravel - Request::getQueryString() 不带一些参数

php - 对于 PHP-FPM, "active processes"是否可以大于 "max_children"

php - Css 和不同的浏览器问题

PHP动态链接列表破坏ajax

laravel - 如何在Vuejs中动态管理页面标题?

php - Laravel - foreach 局部变量正在覆盖全局变量

php - 如何从mysql表中获取数组的单个值并在搜索中使用

php - 是 LIKE,但 int 表示应检查的字符串