数据库  关系型数据    例如mysql,有表还有约束条件等
非关系型 k-v形式 memcache 存在内存中 redis 存在内存 mongodb 数据存在磁盘
import redis
#string类型
#1.连接redis
r=redis.Redis(host='200.149.208.16',port=6379,password='',db=1)
#set 写数据
r.set('lsy_token','2018-hh')#set数据,写数据
#get获取数据
print(r.get('lsy_token').decode())#redis里取出的数据都是bytes类型,所以用decode转化成字符串
#delete删除数据
r.delete('lsy_token')#删除
#setex设置失效时间
r.setex('lsy_token','2018-hh',20)#指定key的失效时间,单位是秒
#set get delete setex 都是针对string类型的 k-v #hash类型
#hset新增数据
r.hset('lsy_session','zhangsan','')
r.hset('lsy_session','lisi','')
r.hset('lsy_session','wangwu','')
r.hset('lsy_session','liuli','')
#hget获取数据
print(r.hget('lsy_session','').decode())#传两个值,获得数据
redis_data=r.hgetall('lsy_session') #获取hash类型里的所有数据
#字典没有decode类型,怎么办---迭代
all_data={}
for k,v in redis_data.items():#把hash类型所有的数据转化成正常的字典
k=k.decode()
v = v.decode()
all_data[k]=v
print(redis_data)
print(all_data)
#hash类型没有过期时间
#设置文件分层
r.set('szz:homeword:lsy','没交')#设置文件夹分类,层级,
r.set('szz:homeword:张三','交了')
r.set('李四','交了') print(r.keys())#打印所有的key
print(r.keys('lsy*'))#获取以lsy开头的key
print(r.type('lsy_session'))#获取key的类型

封装redis函数

import redis
def op_redis(host,password,k,v=None,port=6379,db=0):
r=redis.Redis(host=host,password=password,port=port,db=db)
if v:
r.set(k,v)#有传key就说明是set操作
res='ok'
else:
res=r.get(k)
if res:#判断有没有get到数据
res=res.decode()#没有传key就说明是get操作,如果传的key不存在返回None,None没有decode
else:
res=None
return res

python基础----redis模块的更多相关文章

  1. Python基础-redis模块使用

    redis是一个数据库,他的数据全都是存放在内存里面的,redis每秒能支持30w次的读写,存放有两种格式,一种string类型,一种是hash类型 一,操作string类型 r=redis.Redi ...

  2. python基础——第三方模块

    python基础——第三方模块 在Python中,安装第三方模块,是通过包管理工具pip完成的.  如果你正在使用Mac或Linux,安装pip本身这个步骤就可以跳过了.  如果你正在使用Window ...

  3. python基础——使用模块

    python基础——使用模块 Python本身就内置了很多非常有用的模块,只要安装完毕,这些模块就可以立刻使用. 我们以内建的sys模块为例,编写一个hello的模块: #!/usr/bin/env ...

  4. 二十五. Python基础(25)--模块和包

    二十五. Python基础(25)--模块和包 ● 知识框架   ● 模块的属性__name__ # my_module.py   def fun1():     print("Hello& ...

  5. python 基础之 模块

    Python 基础之模块 一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀. 就是一个python文件中定义好了类和方法,实现了一些功能,可以被别的python文 ...

  6. Python 连接 redis 模块

    redis 模块使用可以分类为: 连接方式 连接池 操作 String操作 Hash操作 List操作 Set操作 Sort Set操作 管道 发布订阅 (1)操作模式 redis提供两个类Redis ...

  7. python之redis模块

    一.redis简介 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(s ...

  8. 【Python之路】第六篇--Python基础之模块

    模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要多个函数才 ...

  9. 周末班:Python基础之模块

    什么是模块 什么是模块? 常见的场景:一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀. 但其实import加载的模块分为四个通用类别: 1 使用python编写 ...

随机推荐

  1. Oracle自动化安装脚本-part02-亲试ok

     此为网络配置文件  network.conf [PUBLIC-IP] IP-LIST:192.168.7.198,192.168.8.221 HOSTNAME-LIST:mysql-198,RAC2 ...

  2. 通过.frm表结构和.ibd文件恢复数据

    整个恢复过程其实可以总结为下面几步: (1):恢复表结构 (2):复制出来创建表的sql语句 (3):恢复表数据(在恢复表数据的时候,首先需要解除当前创建的表与默认生成的.ibd文件间的关系,接着将要 ...

  3. c语言1博客作业05

    一.本周作业头 这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/SE2019-3/homework/9831 我 ...

  4. springboot @async 无效问题

    在@SpringBootApplication启动类 添加注解@EnableAsync 异步方法使用注解@Async ,返回值为void或者Future 切记一点 ,异步方法和调用方法一定要写在不同的 ...

  5. 3、Spring Boot 2.x 核心技术

    1.3 Spring Boot 核心技术 1.3.1 起步依赖 为项目的依赖管理提供帮助.起步依赖其实就是特殊的Maven,利用了传递依赖解析,把常用库聚合在一起,组成几个为特定功能而定制的依赖. 1 ...

  6. [Luogu] 消息扩散

    https://www.luogu.org/problemnew/show/2002 Tarjan 缩点 + 入度判断 #include <iostream> #include <c ...

  7. Comet OJ - Contest #13 「佛御石之钵 -不碎的意志-」(困难版) 并查集

    题意 给一个$ n \times m$ 的网格,每个格子里有一个数字,非 \(0\) 即 \(1\),行从上往下依次编号为 \(1, 2, \cdots, n\),列从左往右依次编号为 \(1, 2, ...

  8. 数据结构实验之栈与队列六:下一较大值(二)(SDUT 3333)

    #include <bits/stdc++.h> using namespace std; int a[1000006]; int b[1000006]; int sta[100006]; ...

  9. MySQL数据分析-(12)表操作补充:字段属性

    大家好,我是jacky朱元禄,很高兴继续跟大家学习MySQL数据分析实战,今天我们分享的主题是表操作补充之字段属性,依照惯例第一部分,jacky先跟大家分享本课时的学习逻辑 (一)学习逻辑 我们说创建 ...

  10. BZOJ 4734 UOJ #269 如何优雅地求和 (多项式)

    题目链接 (BZOJ) https://www.lydsy.com/JudgeOnline/problem.php?id=4734 (UOJ) http://uoj.ac/problem/269 题解 ...