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 基础
20171124_Python学习六周五次课(11月24日)
Redis主从与哨兵架构详解 Redis主从架构 如何在同一台机器搭建主从架构 Redis主从工作原理 数据部分复制 Jedis使用 Redis的管道(Pipeline) Redis Lua脚本(代码