zoukankan      html  css  js  c++  java
  • python使用笔记16--操作redis

    操作redis应先引入第三方模块

    执行以下命令

    pip install redis

    1.redis常用方法

     1 import redis
     2 #decode_responses=True将bytes转成字符串
     3 #Redis查出来的结果,默认是bytes类型的
     4 r = redis.Redis(host="127.0.0.1",port=6379,password="132131213&*",decode_responses=True)
     5 
     6 #字符串类型
     7 r.set('xxl_session','143432jlfdjldskfs',10)#插入一条数据,key,value,有效时长:默认为永久,单位为秒
     8 session = r.get('xxl_session')#获取指定的值
     9 print(session)
    10 #new_session = session.decode()#如果连接时没有设置decode_responses=True,需要手动将获取的值转换为字符串
    11 #print(new_session)
    12 #r.delete()#删除
    13 
    14 #hash类型
    15 r.hset('ssz_student','xiaoxiaolin','xiaoxiaolin')#插入数据
    16 r.hset('ssz_student','xiaoxiaolin111','xiaoxiaolin111')#插入数据
    17 r.hset('ssz_student','xiaoxiaolin222','xiaoxiaolin222')#插入数据
    18 #print(r.hget('ssz_student','xiaoxiaolin').decode())#获取数据
    19 print(r.hget('ssz_student','xiaoxiaolin'))#获取数据
    20 r.hdel('ssz_student','xiaoxiaolin222')#删除
    21 print(r.hgetall('ssz_student'))
    22 print(r.keys())#获取所有的key
    23 print(r.keys('*session*'))#模糊匹配
    24 print(r.type('xxl_session'))
    25 r.expire('ssz_student',50)#指定某个key的过期时间,单位是秒
    26 r.flushall()#清空所有数据库里面的key
    27 r.flushdb()#清空当前数据库里面的key
    28 
    29 d = {"a":1,"b":2,"c":3}
    30 r.hmset('ssz_student',d)#插入字典
    31 r.delete('ssz_student')#删除
    32 
    33 #插入的数据是一个文件夹里多个key
    34 r.set('girls:xxl','xxl')
    35 r.set('girls:wrm','wrm')

    2.redis小练习

     1 #将一个数据库中的所有数据迁移到另一个数据库中
     2 import redis
     3 r1 = redis.Redis(host="127.0.0.1",port=6379,password="342342&*",decode_responses=True)
     4 r2 = redis.Redis(host="127.0.0.1",port=6379,password="3242342&*",decode_responses=True,db=6)
     5 for key in r1.keys():#遍历数据库中所有的key
     6     key_type = r1.type(key)
     7     if key_type == 'string':#判断是字符串的
     8         key_value = r1.get(key)
     9         r2.set(key,key_value)
    10     elif key_type == 'hash':#判断是hash类型的
    11         key_value = r1.hmget(key)
    12         r2.hmset(key,key_value)
    13     else:
    14         pass
  • 相关阅读:
    超赞!推荐一个专注于Java后端源码分析的Github项目!
    SpringApplication对象是如何构建的? SpringBoot源码(八)
    Java是如何实现自己的SPI机制的? JDK源码(一)
    SpringBoot的启动流程是怎样的?SpringBoot源码(七)
    SpringBoot内置的各种Starter是怎样构建的?--SpringBoot源码(六)
    外部配置属性值是如何被绑定到XxxProperties类属性上的?--SpringBoot源码(五)
    SpringBoot是如何实现自动配置的?--SpringBoot源码(四)
    设计模式目录
    桥接模式
    常见的HTTP状态码
  • 原文地址:https://www.cnblogs.com/cjxxl1213/p/12952641.html
Copyright © 2011-2022 走看看