Laravel Predis update/delete 数组中有 1 个键
Laravel Predis update/delete 1 key in array
例如,我有一个 array/json,其中有 100000 个条目缓存在 Redis / Predis 中。是否可以更新或删除 1 个或多个条目,或者我是否必须生成整个 array/json 的 100000 个条目?我怎样才能做到这一点?
如果您使用缓存服务,您必须:
- 从缓存获取数据
- 更新一些条目
- 将数据保存回缓存
你可以使用像Hashes这样的高级Redis数据结构,但是缓存服务不支持你,你需要自己写函数。
它是关于你如何存储它们的,如果你将它存储为一个字符串那么不,
set key value
get key -> will return you value
这里的值是您的 json/array,有 10000 个条目。
相反,如果您将其存储在散列中。 http://redis.io/commands#hash
hmset key member1 value1 member2 value2 ...
那你可以单独update/deletemember1
如果您正在使用 sets/lists,您可以使用 lpush/lpop、srem 等类似命令来实现它。
请阅读命令部分以了解有关 redis 数据结构的更多信息,这将使您在选择结构时更加灵活。
希望对您有所帮助
感谢 Karthikeyan Gopall,我做了一个例子:
在这里我更改了 field1 值并且它有效:)
$client = Redis::connection();
$client->hmset('my:hash', ['field1'=>'value1', 'field2'=>'value2']);
$changevalue= Redis::hset('my:hash' , 'field1' , 'newvaluesssssssssss');
$values1 = Redis::hmget('my:hash' , 'field1');
$values2 = Redis::hmget('my:hash' , 'field2');
print_r($values1);
print_r($values2);
例如,我有一个 array/json,其中有 100000 个条目缓存在 Redis / Predis 中。是否可以更新或删除 1 个或多个条目,或者我是否必须生成整个 array/json 的 100000 个条目?我怎样才能做到这一点?
如果您使用缓存服务,您必须:
- 从缓存获取数据
- 更新一些条目
- 将数据保存回缓存
你可以使用像Hashes这样的高级Redis数据结构,但是缓存服务不支持你,你需要自己写函数。
它是关于你如何存储它们的,如果你将它存储为一个字符串那么不,
set key value
get key -> will return you value
这里的值是您的 json/array,有 10000 个条目。
相反,如果您将其存储在散列中。 http://redis.io/commands#hash
hmset key member1 value1 member2 value2 ...
那你可以单独update/deletemember1
如果您正在使用 sets/lists,您可以使用 lpush/lpop、srem 等类似命令来实现它。
请阅读命令部分以了解有关 redis 数据结构的更多信息,这将使您在选择结构时更加灵活。
希望对您有所帮助
感谢 Karthikeyan Gopall,我做了一个例子: 在这里我更改了 field1 值并且它有效:)
$client = Redis::connection();
$client->hmset('my:hash', ['field1'=>'value1', 'field2'=>'value2']);
$changevalue= Redis::hset('my:hash' , 'field1' , 'newvaluesssssssssss');
$values1 = Redis::hmget('my:hash' , 'field1');
$values2 = Redis::hmget('my:hash' , 'field2');
print_r($values1);
print_r($values2);