ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

Python学习笔记(22)redis模块

2020-05-26 22:03:53  阅读:364  来源: 互联网

标签:ssy 22 Python student1 redis seesion1 key print


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

 

  

 

  哈希类型如图:

 

 

实例:迁移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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有