python redis模块常用_Python学习笔记(22)redis模块

一、redis模块

使用redis模块连接redis数据库,redis数据是一种Nosql型数据库,即非关系型数据库,不适用sql来执行数据操作,存入数据库通过键值对来存储数据

#存储类型:

#字符串类型:key-value

#哈希类型

#list(不常用)

#集合(不常用)

import redis

#默认db为0,可自己选的,一般一共16个db,decode_responses=True将字节型数据自动转换为字符串

r = redis.Redis(host="118.*.*.*",port=6379,password="*****",db=5,decode_responses=True)

#字符串类型(key-value)

# print(r.set("tyl_seesion1","wsssss",120))#设置120s的失效时间,默认为永远,TLL=-1,TTL倒数到0时即失效

# seesion = r.get("tyl_seesion1")

# print(seesion.decode())#seesion为bytes字节类型,使用decode()方法转换为字符串

# print(r.get("tyl_seesion1"))

# print(r.set("tyl_seesion1","111111"))

# print(r.get("tyl_seesion1"))

# r.delete("tyl_seesion1")删除tyl_seesion1字符串

#哈希类型

#相当于一个大key,里面包含一个key和value

# r.hset("ssy_student1","name","tangyuliang")#设置ssy_student1里有一对key-value

# r.hset("ssy_student1","age",18)

# print(r.hget("ssy_student1","name"))#获取ssy_student1里有key为name的值

# r.hdel("ssy_student1","age") #删除ssy_student1里有key为name的数据

# print(r.hgetall("ssy_student1"))#获取大key为ssy_student1的所有键值对,返回的是字节型的字典类型

print(r.keys())#所有key

print(r.keys('*stu'))#模糊匹配尾为stu的key

print(r.keys('stu*'))#模糊匹配头为stu的key

print(r.keys('*stu*'))#模糊匹配中间为stu的key

print(r.exists("ssy_student1"))#key是否存在

print(r.type("tyl_seesion1"))#查看类型

r.flushall()#清空所有数据库里的key

r.flushdb()#清空当前的db数据库中的key,目前指定是db 5

#哈希类型不能单独对某个小key指定过期时间

r.expire("ssy_student1",50)#指定某个key的指定时间,50s过期

#将一个字典传个一个key ,使用hmset创建

# d ={"a":1,"b":2,"c":3}

# r.hmset("ssy_student2",d)

哈希类型如图:

9b80f8250f55b9116a5f06a140052a40.png

实例:迁移redis数据,将db0的数据全部迁移到db6中

import redis

r1 = redis.Redis(host="118.*.*.*",port=6379,password="*****",decode_responses=True)

r2 = redis.Redis(host="118.*.8.*",port=6379,password="****",decode_responses=True,db=6)

for k in r1.keys():

key_type = r1.type(k)#获得数据类型

if key_type == 'string':

value = r1.get(k)

r2.set(k,value)

elif key_type == 'hash':

value = r1.hgetall(k) #获取到一个字典类型{}

r2.hmset(k,value)#使用hmset将一个字典传入给key

else:

pass

标签:ssy,22,Python,student1,redis,seesion1,key,print

来源: https://www.cnblogs.com/bugoobird/p/12968979.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值