码迷,mamicode.com
首页 > 其他好文 > 详细

第十 redis&rabbitMQ

时间:2017-07-26 18:02:36      阅读:167      评论:0      收藏:0      [点我收藏+]

标签:移动   span   pool   style   存在   add   img   move   键值   

 一、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))
#blosKKKShangHai

运行结果:

技术分享

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))

运行结果:

技术分享

 

第十 redis&rabbitMQ

标签:移动   span   pool   style   存在   add   img   move   键值   

原文地址:http://www.cnblogs.com/ckl893/p/7240047.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!