Redis六(管道)

Posted 问君能有几多愁

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Redis六(管道)相关的知识,希望对你有一定的参考价值。

管道

为什么使用管道?

Redis是一个TCP服务器,支持请求/响应协议。 在Redis中,请求通过以下步骤完成:

  • 客户端向服务器发送查询,并从套接字读取,通常以阻塞的方式,用于服务器响应。
  • 服务器处理命令并将响应发送回客户端。

Redis 管道技术可以在服务端未响应时,客户端可以继续向服务端发送请求,并最终一次性读取所有服务端的响应。 

redis-py 

  例如,redis-py默认在执行每次请求都会创建(连接池申请连接)和断开(归还连接池)一次连接操作,如果想要在一次请求中指定多个命令,则可以使用pipline实现一次请求指定多个命令,并且默认情况下一次pipline 是原子性操作。

#!/usr/bin/env python
# -*- coding:utf-8 -*-
 
import redis
 
pool = redis.ConnectionPool(host=10.211.55.4, port=6379)
 
r = redis.Redis(connection_pool=pool)
 
# pipe = r.pipeline(transaction=False)
pipe = r.pipeline(transaction=True)
 
pipe.set(name, sb)
pipe.set(sex, male)
 
pipe.execute()

ps:默认的情况下,管道里执行的命令可以保证执行的原子性,执行pipe = r.pipeline(transaction=False)可以禁用这一特性。

以上是关于Redis六(管道)的主要内容,如果未能解决你的问题,请参考以下文章

Redis的Java客户端Jedis的八种调用方式(事务管道分布式…)介绍(转)

[Go] 通过 17 个简短代码片段,切底弄懂 channel 基础

redis之pub/sub(发布与订阅)

20171124_Python学习六周五次课(11月24日)

django redis

Redis主从与哨兵架构详解 Redis主从架构 如何在同一台机器搭建主从架构 Redis主从工作原理 数据部分复制 Jedis使用 Redis的管道(Pipeline) Redis Lua脚本(代码