zoukankan      html  css  js  c++  java
  • 操作redis

    数据库分为:
      1)传统的关系型数据库
    mysql、oracle、sql server、sqllie、db2
    id name passwd cratetime stu
    特点:
    a 数据存在磁盘上
    b 使用sql语句来操作数据
    c 表与表之间有关系

    2)非关系型数据库 nosql
    由键值对组成:{'name':'xxx',''}
    mongodb 数据存在磁盘上的
    redis 数据都是存在内存里面

    1.连接redis
    import redis
    r = redis.Redis(host='123.24.3.45',port=6379,password='123',db=10)
    增删改查:(操作String类型)
    
    
    # r.set('nhy_info','age 18 sex nan sdfsdfsdfsd') #增加、修改数据
    # res = r.get('nhy_info_hhh') #获取数据,获取不到就返回None(返回bytes类型的数据)
    # r.delete('nhy_info') #指定一个key删除他,key不存在的话
    # print( res.decode() ) #编码,就变成了字符串

    其他的方法
    # print(r.keys('*info')) #获取到所有的key(*info,把info结尾的过滤)
    # print(r.exists('dashu_name')) #判断这个key是否存在
    # r.flushdb()#可以清空当前数据库里面所有的key
    # r.expire('session_crm',600)#指定key的失效时间
    # print(r.ttl('session_crm'))#用来这个key的失效时间
    # print(r.type('session_crm'))#看key的类型 
    2.hash 哈希类的key

    哈希类型可以理解为一个字典嵌套字典
    select 10 redis的命令行里面select 8 就是切换数据库
    增删改查:(操作hash类的key)
    r.hset('session_crm','liuxinyu','sdfjksdklfjssdf') #
    r.hset('session_crm','zhouyifan_','ssdfsdfjksdklfjssdf') #
    r.hset('session_crm','laowang___','ssdfsdfjksdklfjssdf') #
    #修改也是hset
    # r.hdel('session_crm','liuxinyu') #删除指定的小key
    # r.delete('session_crm') #直接删除大key
    # print(r.hget('session_crm','zhouyifan_'))#获取指定小key里面的数据
    # res = r.hgetall('session_crm')#获取到hash类型里面所有的数据

    eg:将bytes类型转化为字典
    方法一:
    a = {}
    for k,v in res.items():
    a[k.decode()] = v.decode()
    print(a)

    方法二:
    for k,v in res.items():
    res[k.decode()] = res.pop(k).decode() #能节省内存,因为他把原来的key删掉了
    print(res)
    注:res.pop(k)把原来的bytes类型的key删掉,返回value的值,这样res里就没有bytes类型的数据了

    3.加密模块
    import hashlib

    s='123nhy456_++dfsdfsd'
    print(s.encode())
    m = hashlib.md5(s.encode()) #必须得传一个bytes类型的
    print(m.hexdigest()) #获取到加密后的结果
    def myMd5(s):
    s = str(s)
    m = hashlib.md5(s.encode()) #必须得传一个bytes类型的
    return m.hexdigest()

    #md5不可逆
    #所有一样的字符串,md5之后的结果都是一样的
    #撞库(网上的解密是将所有常见数据的密文存放在一个库中,输入密文后通过与库中数据比对找到原文)
    #md5 123456 md5_after e10adc3949ba59abbe56e057f20f883e

    # m = hashlib.sha384(s.encode())
    # print(m.hexdigest())
     
  • 相关阅读:
    windows环境下面批量修改文件夹名称
    项目中的坑(二)
    微信公众号支付之退款
    微信公众号支付之付款
    excel两张表数据匹配数据(VLOOKUP)
    windows环境下面批量移动文件到指定文件夹里面
    windows环境下面批量新建文件夹
    linux 完全卸载软件方法
    如何获取应用宝APP ID
    mysql 时间函数转换
  • 原文地址:https://www.cnblogs.com/URNOTBENBEN/p/9286500.html
Copyright © 2011-2022 走看看