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

    Redis

    是一个高性能的key-value数据库,是一种非关系型的数据库。有以下三个特点:

    • Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
    • Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
    • Redis支持数据的备份,即master-slave模式的数据备份。

    1、redis安装。

    在cmd命令窗口输入:pip install redis

    2、连接redis。

    r = redis.Redis(host='127.0.0.1',password='HK139bc&*',db=1,port=6379)

    说明:host是IP地址,password是redis的密码,db连接上之后使用的数据库,redis默认有15个数据库,port是端口号,默认是6379

    3、redis增删改查,针对string类型的操作。

    1)、数据库里面新增一个值:

    r.set('qianqian','帅!') #数据库里面新增一个值.k是qianqian,value是帅,redis里面有这个k 的话就修改value,没有的话就增加k,和value
    r.set('xiehong:qianqian','帅!') #数据库里面新增一个值,如果k里面有冒号,那么插入成功之后会在redis里面生成一个以冒号前面内容命名的文件夹
     

     2)、获取k的value

    print(r.get('xiehong:qianqian'))#获取k是xiehong:qianqian的value,默认返回结果是二进制
    print(r.get('xiehong:qianqian').decode())#将二进制结果转为中文
    
    #以上结果是:
    b'xe5xb8x85xefxbcx81'
    帅!

    3)、删除k 和value

    r.delete('xiehong:qianqian')#删除之后,对应的k和value都删除

    4)、设置key的失效时间

    r.setex('python_123','哈哈哈',20)  #设置key的失效时间,最后这个参数是秒

    5)、获取所有的key

    r.keys('*xxx*'))#获取到所有的key

    4、哈希类型(hash)的操作。

    哈希类型的value就是嵌套字典。

    1)、增加k和value

    r.hset('xinxin','新新','1m8 100w存款')
    r.hset('xinxin','红红','难道岁月 多少课 也可白上')
    r.hset('xinxin','谦谦','但愿步过瞻仰 你亦明白 看穿真相')
    以上key是xinxin,value是以下截图的数据,登录上redis上查看以上代码的操作结果:

    2)、获取value,需要制定大key和小key进行获取相应的value,例如:

    print(r.hget('xinxin','新新').decode())  #指定大key和小key获取对应的数据
    
    #获取结果是:
    1m8 100w存款

    3)、获取所有的key和value

    print(r.hgetall('xinxin'))  #获取里面所有的k和-v

    4)、删除key

    r.hdel('stu_info','gyx')  #删除指定key
    r.delete('stu_info')  #删除整个key

    5)、设置第一个key的失效时间

    r.expire('xinxin',100) #第一个key设置失效时间

    5、补充字符串转换

    s='呵呵'
    s.encode() #把字符串转成二进制
    hwt = b'sdfsdfsdf'
    hwt.decode()  #把bytes类型转成字符串


  • 相关阅读:
    大数据学习笔记之一:大数据初识
    从漏洞中总结编程规范(转发)+自我补充
    软件性能测试的基本概念和计算公式(转发)
    系统吞吐量、TPS(QPS)、用户并发量、性能测试概念和公式(转发)
    Linux学习记录(三):time 相关
    Linux报错第一弹: /bin/sh^M: bad interpreter: No such file or directory
    Linux学习记录(二)----if
    SVN 提交出错1
    java.lang.NoClassDefFoundError
    git 将文件取消版本控制
  • 原文地址:https://www.cnblogs.com/xiehong/p/9052262.html
Copyright © 2011-2022 走看看