例如,我有一个带有Redis / Predis缓存的100000个条目的数组/ json。是否可以更新或删除1个或多个条目,或者我是否必须生成100000个条目的整个数组/ json?我怎样才能做到这一点?
答案 0 :(得分:1)
如果您将它们存储为字符串,那么它是关于如何存储它们的,
set key value
get key -> will return you value
这里的值是你的json /数组,有10000个条目。
相反,如果您将其存储在哈希中。 http://redis.io/commands#hash
hmset key member1 value1 member2 value2 ...
然后你可以单独更新/删除member1。
如果您正在使用集/列表,您可以使用lpush / lpop,srem等类似命令来实现它。
请阅读命令部分以了解有关redis数据结构的更多信息,这将使您在选择结构时更加灵活。
希望这有帮助
答案 1 :(得分:0)
如果您使用缓存服务,则必须:
您可以使用像Hashes这样的高级Redis数据结构,但是Cache服务不支持它,您需要编写自己的函数。
答案 2 :(得分:0)
谢谢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);