Python操作Redis

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

 

你可能感兴趣的:(redis)