redis操作合并,是对redis管道操作的宏观思考,就是将多个redis操作合并到一起向redis做请求,提高 redis服务的性能。同时因为减少了网络往返的时间,也降低接口的相应时间。
操作多个键时,redis单点与集群的区别
在redis集群中,对于多个键的操作比如集合的并操作(准确来说是多个键不在一个哈希槽上),是不支持的。同样当你使用redis的管道与事务,涉及到的命令操作多个键,也是不支持的,例子:
但是phpredis拓展,自己实现了几个可以在集群中操作多键的函数(实现原理是RedisCluster类在遍历每个键的哈希槽,然后对每个哈希槽进行操作):
mget:返回给定的一个或多个字符串键的值
mset:为多个字符串键设置值
del:删除键
unlink:非阻塞删除键,redis版本大于4.0.0
同时也可以通过键哈希标签(Keys hash tags),来确保多个键在同一个哈希槽中,然后再进行这些键的操作。
操作同一个键时
1.添加键的同时对键设置过期时间
set命令是原生支持添加键的同时设置过期时间,而其他类型的键则可以通过管道或事务添加过期时间,例子:
2.一次性向key里添加多个数据
比如lpush,rpush,sadd,zadd是可以同时向键里添加多条数据,例子: