zoukankan      html  css  js  c++  java
  • Python学习笔记_Redis

    一、Redis介绍

    非关系型数据库:mongodb、redis

    redis数据全部是存在内存里面的。

    redis本身每秒支持30w次的读写,本身性能非常好,

    redis重启后,数据会消失,持久性不好,但是可以设置重启前将redis里面的数据存到磁盘,重启后再取过来。

    二、Redis用法

    String类型的用法:

     1 import redis
     2 r = redis.Redis(host='xxx.xxx.xx.xxx',password='123456',db=0)  #端口号默认6379, redis默认有16个库,为1-15
     3 #增,key有唯一性
     4 r.set('6j','帅!')   #数据库里新增一个值
     5 r.set('nhy','帅!')   #数据库里新增一个值
     6 #修改也是set
     7 r.set('nhy','牛!')   #数据库里新增一个值
     8 #删:
     9 r.delete('nhy')  #删除
    10 
    11 r.setex('6j','哈哈哈',20)  #定时,设置key的失效时间20s,单位是秒
    12  
    13 print(r.get('6j'))  #运行结果是byte格式,二进制格式,变回字符串用decode
    14 print(r.get('6j'))  #获取不存在的key,返回None
    15 lj= r.get('6j')  #打印出来的结果格式不正确,是byte格式,需要decode一下
    16 print(lj.decode())
    17 print(r.get('6j').decode())
    18 s = '呵呵'
    19 s.encode()  #把字符串转成二进制
    20 nhy = b'sdfserewf'
    21 nhy.decode()  #把bytes类型转成字符串
    22 
    23 
    24 print(r.keys())  #获取所有的key
    25 print(r.keys('n*')) #获取所有n开头的key
    26 
    27 设置文件夹:
    28 r.set('天蝎座:lj','hehehe')  #生成天蝎座文件夹,key为lj,value为hehehe
    29 r.set('session:6j','1毛钱')    #生成session文件夹,key为6j,value为1毛钱
    30 
    31 #删除所有key
    32 for k in r.keys():
    33     r.delete(k)

    hash类型的用法:

    除了string类型,还有哈希类型 hash,就和嵌套字典是一样的

    # # {{zhangsan:xxx},{lisi:yyy}}

     1 r.hset('stu_info',6j,'1m6 100w存款')  #
     2 r.hset('stu_info','zhangsan','lang for homework') #
     3 r.hset('stu_info','lisi','find a dog to kit zhangsan') #
     4 
     5 print(r.hget('stu_info','zhangsan').decode())#指定大key和小key获取对应的数据
     6 print(r.hgetall('stu_info'))  #获取里面所有的k和v,不能用decode,因为字典没有decode方法
     7 #要获取正常的字典,可以如下所示:
     8 stu_info = r.hgetall('stu_info')
     9 new_stu_info = {}
    10 # print(stu_info.items())
    11 for k,v in stu_info.items():
    12     new_stu_info[k.decode()] = v.decode()
    13     # print(k.decode)
    14     # print(v.decode)
    15 print(new_stu_info)
    16 
    17 r.hdel('stu_info','zhangsan')  #删除指定key
    18 r.delete('stu_info')   #删除整个key
    19 
    20 #查看key的类型:
    21 print(r.type('stu_info'))
    22 print(r.type('6j'))
    23 
    24 print(r.ttl('stu_info'))  #获取失效时间,None为永久,在redis可视化界面工具中展示为-1
    25 # r.expire('aaa',100) #第一个key设置失效时间,对string、hash均生效
    View Code
  • 相关阅读:
    JavaScript--微博发布效果
    JavaScript--模拟百度搜索下拉li
    JavaScript--for in循环访问属性用"."和[ ]的区别
    JavaScript--函数中()的作用
    JavaScript--时间日期格式化封装
    【网络】Vmware虚拟机下三种网络模式配置
    【IP】DHCP介绍
    【Shell】ps -ef 和ps aux
    【基础】Pipeline
    【时间】Unix时间戳
  • 原文地址:https://www.cnblogs.com/jessica-test/p/9007244.html
Copyright © 2011-2022 走看看