第十 redis&rabbitMQ

一、redis 操作

1.连接方式

1.1.插入键值对

#!/usr/bin/env python
#-*- coding:utf-8 -*-

import redis

#插入一个键值对
r = redis.Redis(host=‘192.168.161.129‘,port=6379,password="60887")
r.set(‘foo‘,‘bar‘)
print(r.get(‘foo‘))

运行结果:

1.2.连接池

#!/usr/bin/env python
#-*- coding:utf-8 -*-

import redis

#创建一个连接池,避免每次建立、释放连接的开销
pool = redis.ConnectionPool(host=‘192.168.161.129‘,port=6379,password="60887")
r = redis.Redis(connection_pool=pool)
r.set(‘name‘,‘ckl‘)
print(r.get(‘name‘))

运行结果:

2.string 类型

2.1.设置值过期时长

#ex:过期时长
r.set(‘age‘,20,ex=10)
print(r.get(‘age‘))
time.sleep(11)
print(r.get(‘age‘))

运行结果:

十秒后失效

2.2.如果值不错在,则赋值

#age 不存在,执行操作
r.set(‘age‘,21,nx=True)
print(r.get(‘age‘))

运行结果:

2.3.批量设值

#批量设值
r.mset({‘k1‘:‘v1‘,‘k2‘:‘v2‘})
print(r.mget(‘k1‘,‘k2‘))

运行结果:

2.4.为某个键设置一个新的值,但返回旧的值

#设值新值,获取原来的值
print(r.getset(‘k1‘,‘md1‘))
print(r.get(‘k1‘))

运行结果:

2.5.相当于切片

#获取返回值的范围
r.set(‘qc‘,‘lostAtShangHai‘)
print(r.getrange(‘qc‘,3,7))

运行结果:

2.6.修改值的部分内容

#修改值的部分内容
r.setrange(‘qc‘,3,‘KKK‘)
print(r.get(‘qc‘))
#b‘losKKKShangHai‘

运行结果:

2.7.相当于统计UV的方法

#统计UV
r.setbit(‘uv_count‘,5,1)
r.setbit(‘uv_count‘,8,1)
r.setbit(‘uv_count‘,6,1)
r.setbit(‘uv_count‘,6,1)
print(r.bitcount(‘uv_count‘))

运行结果:

2.8.统计PV方法

#统计PV,
r.incr(‘pv_count‘,3)
r.incr(‘pv_count‘,3)
r.incr(‘pv_count‘,3)
r.incr(‘pv_count‘,3)
print(r.get("pv_count"))

运行结果:

2.9.在值的后面增加内容

#在后面追加内容
r.set(‘wu‘,‘kaka‘)
print(r.get(‘wu‘))
r.append(‘wu‘,‘sasa‘)
print(r.get(‘wu‘))

运行结果:

3.hash 类型

3.1.插入单条数据

#插入单条数据
r.hset(‘taihu‘,‘wuxi‘,‘yuantouzhu‘)
print(r.hscan(‘taihu‘))

运行结果:

3.2.获取批量值

#获取批量值
r.hmset(‘hubo‘,{‘qinghaihu‘:‘qinghai‘,‘panyanghu‘:‘panyang‘})
print(r.hmget(‘hubo‘,‘qinghaihu‘,‘panyanghu‘))

运行结果:

3.3.获取所有键值

#获取所有键值
print(r.hgetall(‘hubo‘))

运行结果:

3.4.获取键值对数量

#获取键值对的个数
print(r.hlen(‘hubo‘))

运行结果:

4.list 类型

4.1.插入值,获取所有值

#获取所有的键值
r.lpush(‘diuList‘,11,22,44,66)
print(r.lrange(‘diuList‘,0,-1))

运行结果:

4.2.插入值

#在值22的前面插入值88
r.linsert(‘diuList‘,‘BEFORE‘,22,88)
print(r.lrange(‘diuList‘,0,-1))

运行结果:

4.3.获取第一个值及获取元素个数

#获取第一个值
print(r.lindex(‘diuList‘,0))

#获取元素个数
print(r.llen(‘diuList‘))

运行结果:

5.set 类型

5.1.添加数据

r.sadd(‘SetA‘,‘888‘)
r.sadd(‘SetA‘,‘999‘)
r.sadd(‘SetB‘,‘444‘)
r.sadd(‘SetB‘,‘555‘)
print(r.sscan(‘SetA‘))
print(r.sscan(‘SetB‘))

运行结果:

5.2.移动值

#将A的888移到B里
r.smove(‘SetA‘,‘SetB‘,‘888‘)
print(r.sscan(‘SetA‘))
print(r.sscan(‘SetB‘))

运行结果:

时间: 2024-08-29 11:22:32

第十 redis&rabbitMQ的相关文章

redis,rabbitmq

1.redis 2.rabbitmq 安装python rabbitmq module pip  install pika 最简单的消息队列通信 生产者生产消息向hello队列发送消息,消费者从队列hello接受消息进行消费 producer: #!/usr/bin/env python import pika connection = pika.BlockingConnection(pika.ConnectionParameters( host='localhost')) channel =

python操作memcache/redis/rabbitmq

数据库操作: - 数据库 - 表 a. 单表 b. 一对多 用户类型: 1 超级用户 2 普通用户 3 二笔用户 用户: 方式器 3(设置数字,约束=外键(表,列)) 刘浩 6 何磊 3 何磊 3 c. 多对多 主机:主机名 .... 1 c1.com 2 c1.com 3 c1.com 4 c1.com 用户表:用户名 .... 1 严选育 2 卢饶 3 泥泞 4 利用三 装B: 用户 主机 时间 4 1 83 4 2 83 4 1 93 4 2 93 3 2 93 相亲: 1 严选育 2 卢

python运维开发(十二)----rabbitMQ、pymysql、SQLAchemy

内容目录: rabbitMQ python操作mysql,pymysql模块 Python ORM框架,SQLAchemy模块 Paramiko 其他with上下文切换 rabbitMQ RabbitMQ是一个在AMQP基础上完整的,可复用的企业消息系统.他遵循Mozilla Public License开源协议. MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法.应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们.消

Python自动化开发学习的第十周----RabbitMQ

RabbitMQ   消息队列   消息的传递 安装   http://www.rabbitmq.com/install-standalone-mac.html 如果是在windows上安装还要安装erlang语言 安装python RabbitMQ pip install pika or easy_install pika or 源码 https://pypi.python.org/pypi/pika 实现最简单的队列通信 http://www.rabbitmq.com/getstarted.

分布式系列十: Redis安装和命令

redis是一个开源的, 内存数据结构存储, 一般用来作为数据库,缓存和消息代理. Redis的优势 多种数据结构 字符类型String 散列类型Hash 列表类型List 集合类型Set 有序集合类型SortedSet 功能丰富 超时时间设置 可以通过列表类型来实现分布式队列 pub/sub 消息模式 简单 多种操作命令 Redis应用场景 缓存 秒杀,抢购等 单点登陆, 分布式session等 网站访问排名 消息队列 安装 手工下载或通过wget http://download.redis.

消息中间件——RabbitMQ(十)RabbitMQ整合SpringBoot实战!(全)

前言 1. SpringBoot整合配置详解 publisher-confirms,实现一个监听器用于监听Broker端给我们返回的确认请求:RabbitTemplate.ConfirmCallback publisher-returns,保证消息对Broker端是可达的,如果出现路由键不可达的情况,则使用监听器对不可达的消息进行后续的处理,保证消息的路由成功:RabbitTemplate.ReturnCallback 注意一点,在发送消息的时候对template进行配置mandatory=tr

Python【10】【网络编程】- Memcache、Redis、RabbitMQ、SQLAlchemy

知识参鉴:百度百科.Mr.7 Memcached 1.基础认知 Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度.Memcached基于一个存储键/值对的hashmap.其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信. 2.安装使用 (1)安装 wget http://memcached.org/l

Cloud Insight 仪表盘上线 | 全面监控 Redis

OneAPM 作为应用性能领域的新兴领军企业,近期发布了重量级新产品—— Cloud Insight 数据管理平台,用它能够监控所有基础组件,并通过 tag 标签对数据进行管理. 近日,Cloud Insight (Ci) 探针仪表盘功能重磅上线,默认安装了探针,配置平台服务就会自动生成相应的仪表盘,而且仪表盘将包含所有数据.此外,本文也将重点介绍 Redis 的几项监控指标以及一些值得注意的部分,希望给使用 Redis 的读者带来一些帮助. 仪表盘 任意时间段数据查询 默认只能显示最近一小时的

python之redis

前言:本来想写redis与rabbitMQ的,但写完redis后感觉有点多,rabbitMQ还是留在下篇博客吧~~ 关于redis与rabbitMQ的下载与安装,可参考redis&rabbitMQ安装 一.redis基本操作-1 1 import redis 2 #建立连接 3 r=redis.Redis(host="127.0.0.1",port=6379) 4 5 all_keys=r.keys()#输出所有key,列表[b'age',b'name',b'occupatio