python操作redis

1.安装redis

pip install -U redis==2.10.6

 

2.导入redis模块

 

3.连接redis

有两种方式:1是通过StrictRedis直接连接redis,2是通过连接池连接redis

 

4.操作redis

(1)字符串操作

结果:

 

(2)列表操作

结果:

 

(3)无序集合操作

结果:

 

(4)散列操作

结果:

 

 

(5)有序集合操作

结果:

 

完整代码

import redis

#连接redis
r = redis.StrictRedis(host='localhost',     #主机ip
                      port=6379,            #端口
                      db=0,                 #数据库索引
                      password="",          #密码
                      decode_responses=True)#设置解码,因为使用get()方法获取出来的值是一个字节类型,这个设置为get()方法获取的值是字符串类型

#使用连接池连接redis
#pool = redis.ConnectionPool(host='localhost',port=6379,db=0,password="",decode_responses=True)
#r = redis.StrictRedis(connection_pool=pool)

test = 5

#字符串操作
if test == 1:
    r.set('name', 'cathy')
    r.set('age', 10)
    r.setnx('height', 1.50)#如果键height不存在,则赋值1.5
    r.mset({"score1":100,"score2":"98"})#批量设置键值对

    print(r.get('name'))#根据key取出value
    r.append("name","good")#向键为name的值追加good
    print(r.mget(["name","age","height","score1","score2"]))#根据键批量获取值

#列表操作
if test == 2:
    r.lpush("student","cathy",10)#向键为student的列表头部添加值"cathy"和10
    r.rpush("student",1.50,"女")#向键为student的列表尾部添加值身高和性别
    print(r.lrange("student",0,3))#获取列表student中索引范围是0-3的列表
    r.lset("student",1,9)#向键为student中索引为1的位置赋值9(会替换原来的值)
    print(r.lrange("student", 0, 3))  # 获取列表student中索引范围是0-3的列表
    print("删除首元素"+r.lpop("student"))#返回并删除列表student中的首元素
    print("删除尾元素"+r.lpop("student"))#返回并删除列表student中的尾元素
    print("获取长度%d"%(r.llen("student")))#获取student列表长度
    print(r.lrange("student",0,-1))#获取列表student中的所有数据

#无序集合操作
if test == 3:
    r.sadd("names","cathy","tom","terry","lili","tom")#添加5个元素到names集合中,因为这是set集合,这里两个tom,所以会自动去重
    print(r.scard("names"))#获取键为names的集合中的元素个数
    print(r.srem("names","tom"))#从键为names的集合中删除tom
    print(r.spop("names"))#从键为names的集合中随机删除并返回该元素
    print(r.smove("names","names1","terry"))#将terry从names的集合转到names1的集合
    print(r.sismember("names","cathy"))#判断cathy是否再names集合中
    print(r.srandmember("names"))#随机获取names集合中的一个元素
    print(r.smembers("names"))#获取names的集合中的所有元素

#散列操作
if test == 4:
    r.hset("stu","name","cathy")#把键值对添加到键为stu的散列表中
    print(r.hmset("stu",{"age":10,"height":1.50}))#批量添加键值对到stu的散列表中
    print(r.hsetnx("stu","score",100))#stu散列表中,如果score=100的键值对不存在,则添加
    print(r.hget("stu","name"))#获取散列表中key为name的值
    print(r.hmget("stu",["name","age"]))#获取散列表中多个key对应的值
    print(r.hexists("stu","name"))#判断key为name的值是否存在
    print(r.hdel("stu","score"))#删除key为score的键值对
    print(r.hlen("stu"))#获取散列表中键值对个数
    print(r.hkeys("stu"))#获取散列表中所有的key

#有序集合操作
if test == 5:
    #添加到键为hackers的有序集合中
    r.zadd("hackers",1940,"Alan kay")
    r.zadd("hackers",1957,"Sophie Wilson",1953,"Richard Stallman")#批量添加
    r.zadd("hackers",1953,"Anita Borg")
    r.zadd("hackers",1914,"Hedy Lamarr")

    print(r.zrank("hackers","Alan kay"))#获取ALan Kay在集合中的位置(从0开始)
    print(r.zcard("hackers"))#获取集合中元素个数
    print(r.zrange("hackers",0,-1))#获取集合中所有元素,默认按score从小到大排序
    print(r.zrevrange("hackers",0,-1))#获取集合中所有元素,按score从大到小排序
    print(r.zrangebyscore("hackers",1900,1950))#获取score为1900~1950之间的所有元素

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值