zoukankan      html  css  js  c++  java
  • 7-1 python 操作redis

    1、安装并导入redis模块

    # pip install redis  安装redis模块
    import redis  # 导入redis模块

    2、连接一个或多个redis,指定数据库名,并指定返回字符串

    import redis  # 导入redis模块
    
    ip = 'xxx.xx.x.xx'
    password='HK139bc&*'
    # db如果默认不写是第一个数据库,如果数据库不村子的话,会默认创建
    # decode_responses=True  指定返回字符串
    r = redis.Redis(host=ip,password=password,port=6379,db=10,
                    decode_responses=True)  # 连接redis
    
    r2 = redis.Redis(host=ip,password=password,port=6378,db=10,
                    decode_responses=True) # 连接redis

    3、string 类型

      3.1增删改查 以及返回的数据的转化

    import redis  # 导入redis模块
    import json
    
    ip = '118.24.3.40'
    password='HK139bc&*'
    # db如果默认不写是第一个数据库,如果数据库不村子的话,会默认创建
    # decode_responses=True  指定返回字符串
    r = redis.Redis(host=ip,password=password,port=6379,db=15,
                    decode_responses=True)  # 连接redis
    
    r2 = redis.Redis(host=ip,password=password,port=6378,db=10,
                    decode_responses=True) # 连接redis
    
    # string类型
    # 增 set key  value
    # 第三个参数代表过期时间  20秒后过期,不加第三个参数,表示永久有效
    r.set('nhy_sessionn','sdfsdfssdf234sfdfsdsdfs',20)
    r.set('nhy_info','{"name":"xxxx","password":"123456","account":11234}')
    
    # 删 delete  key
    r.delete('nhy_session')
    r.delete('nhy_info')
    r.delete('nhy') #删一个不存在的key,程序不会报错
    
    # 修改 set key value
    print(r.set('nhy_session','aahhhhhhssss'))
    
    # 查   get
    res = r.get('nhy_info')
    # print(res)
    # print(type(res))
    
    # str类型转json类型
    res_json= json.loads(res)
    print(res_json)
    print(type(res_json))
    
    res  = r.get('nhy_info') #bytes
    print('bytes..',res)
    print('zifuchuan..',res.decode())
    # res.encode()  # 字符串变成bytes

      3.2 清空数据库数据、获取所有的key、指定过期时间

    import redis
    
    ip = '118.24.3.40'
    password='HK139bc&*'
    # db如果默认不写是第一个数据库,如果数据库不村子的话,会默认创建
    # decode_responses=True  指定返回字符串
    r = redis.Redis(host=ip,password=password,port=6379,db=15,
                    decode_responses=True)  # 连接redis
    
    r.flushall() # 清空所有数据库里面的数据
    r.flushdb() # 只清空当前数据库里面的数据
    
    print(r.keys()) #获取到所有的key
    print(r.keys('*session*')) #模糊匹配
    
    r.set('名称','小明')
    print(r.get('名称'))
    
    r.set('qml_session','sdfsdfsdfss')
    r.expire('qml_session',30)  # 指定过期时间

    4、哈希类型的增删该查

    #
    r.hset('sms_code','18612532945','121213') # set值
    r.hset('sms_code','18612532941','121313')
    
    #
    print(r.hget('sms_code','18201034732')) # 获取值
    print(r.hgetall('sms_code')) # 获取到这个key里面所有的内容
    
    #
    r.hdel('sms_code','18201034732') #删除指定的key
    r.delete('sms_code') #把整个key删除掉
    
    
    print(r.type('sms_code'))
    print(r.type('lyl_session007'))
    
    # 多一层文件夹
    r.set('yulin:xxx','{"username":"yulin"}')
  • 相关阅读:
    MVC4 中Remote的使用
    NHibernate遇到的问题集 持续更新。
    2014总结,2015展望
    Redis结合EntityFramework结合使用的操作类
    Entity Framwork db First 中 Model验证解决办法。
    「面经」阿里蚂蚁金服 offer 之路
    最长公共子序列-LCS
    阿里面试题解答-倒排索引
    如何解决ubuntu下Chromium 新建的应用快捷方式图标模糊的问题
    join sleep yield
  • 原文地址:https://www.cnblogs.com/hushaoyan/p/10136519.html
Copyright © 2011-2022 走看看