Python操作redis
准备工作:
1、设置端口映射 redis服务默认监听6379
也要设置虚拟机6379端口映射物理机6379端口(可选)
1、redis-py介绍
redis-py是键值数据库redis的python实现接口。
有两个大版本:
1、2X版本
3、3.0 有很多新特性,使用的时候需要做兼容处理
支持:python2.7,python3.4+
4、安装
pip install redis
不要sudo安装,推荐安装在virtualenv
2、Python操作redis
import redis
#1、建立连接---python3.5的写法,不兼容
con = redis.Redis(
host='127.0.0.1',
port=6379,
db=1,
decode_responses=True #设置为True返回的数据格式就是时str类型
)
#1.1、写兼容--兼容旧版本-推荐使用
con = redis.StrictRedis(
host='127.0.0.1',
port=6379,
db=1,
decode_responses=True
)
#3、key的操作
res = con.keys('*')#查看所有的key
print(res)
res = con.delete('Nmae')#删除key,返回删除的个数
3、redis-py 操作redis
python操作redis的命令和命令行几乎一致,除了del
,因为和关键字重叠,所以用delete
1、字符串类型操作:
-
set----键key
-
con.set('key','values')
-
-
get---获取数值
-
con.get('com')
-
-
append --- 追加
-
con.append('keys','values')
-
-
delete---删除
-
con.delete('keys')
-
2、List类型:
-
rpush 、lpush----添加数据
-
con.rpush('keys','values')
-
con.lpush('keys','values')
-
-
lrange---查看数据
-
con.lrange('list',0,11)
-
-
lset---修改数据
-
con.lset('list_F',1,'Fyn')
---返回布尔值
-
-
rpop ---- 随机删除一个数据
-
con.rpop('keys')
-
-
lrem ---- 指定删除一个数据时
-
con.lrem('list_f',0,'okl')
-
3、Hash类型
-
hmget --- 添加多条数据,也可插入单条数据
-
以字典的形式插入
-
con.hmste('keys',{'name':''age})
#插入结果返回布尔值
-
-
hget , hgetall , hvals,hkeys查看数据
-
con.hget('ok','name')
-
con.hgetall('ok')
#结果返回字典 -
con.hvals('ok')
#获取所有的键值 -
con.hkeys('ok')
#获取所有的键
-
-
hdel 、 del----删除某个字段,删除整个hash
-
con.hdel('ok',age)
#指定删除某个字段 ,成功的话返回1,否则返回0 -
con.del('ok')
#删除整个hash
-
4、set
-
sadd---添加数据
-
con.sadd('mk','oi'.'Hwelo')
-
-
smembers ---- 查看所有数据
-
con.smembers('mk')
-
-
spop---随机删除一个元素
-
con.spop('con.spop('mk')')
-
-
srem--- 指定删除某个元素
-
con.srem('mk','oi')
-
5、sorted set
-
zadd---添加数据
-
con.zadd('set_f',{'name':1.1,'age':2,'sex':3})
-
-
zrange ---- 查询数据
-
con.zrange('set_f',0,11)
-
-
zrem ---指定删除某个元素
-
con.zrem('set_f','age')
-
4、redis-py管道操作 piplines
管道是redis的子类,它支持在一个请求中款冲多个命令到服务器
#1、创建一个管道
pipe = con.pipeline()
#缓冲多个命令
pipe.keys('*')
pipe.set('name','Mkl')
#执行命令
res = pipe.execute()#返回列表
print(res[0])
print(res[1])