使用redis模块

一、操作redis

1、添加信息

(1)直接建key-value信息:

右键-Add New Key,手动添加key和value

右键-Console,打开控制台,写入命令

(2)建个文件夹,在文件夹里面建key-value信息:

只需在Add New Key的Key中建立文件夹名:key即可。

多个冒号就是多个文件夹。

2、存储类型

(1)String类型:

(2)哈希hash类型:

二、Python操作redis数据库步骤

1、导入redis模块

2、建立连接

3、写入命令

importredis

ip='xxx.xx.xx.xx'password='123456'r=redis.Redis(host=ip,password=password,port=6379,db=1)

res=r.get('lrx2')print(res) #结果为:b'\xe5\x97\xafohyeah234324'

#结果是二进制类型的,需要将二进制类型的转成字符串类型 res.decode()

#.decode()是二进制类型转成字符串

print(res.decode()) #结果为:嗯ohyeah234324

#字符串转成byte二进制类型

res.encode()#二进制转成字符串类型

res.decode()

三、操作命令——string类型

1、删除数据库里所有的key

使用.flushdb()方法

r.flushdb() #删除这个数据库里的所有Key

2、获取所有的key

使用.keys('key')方法

print(r.keys('session*')) #获取所有的只以session开头的key

3、新增和修改

使用.set('key','value')方法

r.set('lrx','sfdsdf1232')#新增和修改都是它

4、删除

使用.delete('key')方法

r.delete('lrx') #删除指定的key

5、获取值

使用.get('key')方法

r.get('lrx') #获取key为lrx的value值

四、操作命令——哈希(hash)类型

格式:

二层字典

session={"nhy":{'sex':'男','age':18},"nhy2":{'sex':'男','age':18},

}

优点:

管理方便,易于查找。

返回值直接就是字典,不是字符串。

1、新增和修改

使用.hset('key')方法

r.hset('lrx_stus','xiaohong','{"age":23,"addr":"上海"}')#大key 小key

2、获取指定value值

使用.hget('大key','小key')方法

res=r.hget('lrx_stu','xiaohong') #指定获取里面小key的值

3、获取所有的小key

使用.hgetall('大key')方法

res=r.hgetall('lrx_stus') #获取到大key里面所有的数据

print(res)

4、删除大key

使用.delete('大key')方法

r.delete('lrx_stus') #删除大key

5、删除小key

使用.hdel('大key','小key')方法

r.hdel('lrx_stus','xiaojun') #删除指定的小key

6、返回值由二进制类型转为字符串类型

res=r.hgetall('lrx_stus') #获取到大key里面所有的数据

print(res)

new={}#1、先循环res#2、k和v decode一下,放到new这个字典里面

for k,v inres.items():

new[k.decode()]=v.decode()print('=====下面是转完之后的')print(new)#结果为:#{b'xiaojun': b'{"age":18,"addr":"\xe5\xa4\xa9\xe9\x80\x9a\xe8\x8b\x91"}'}##=====下面是转完之后的#{'xiaojun': '{"age":18,"addr":"天通苑"}'}

在连接数据库时直接加入参数:decode_responses=True,即可直接返回字符串类型数据,就不用再decode了。

五、设置redis失效时间

importflask

server=flask.Flask(__name__)def get_redis(): #只返回连接redis的链接

return redis.Redis(**setting.redis_info)

@server.route('/login',methods=['post','get'])deflogin():

uname=flask.request.values.get('username')

pwd=flask.request.values.get('password')if uname andpwd:

sql="select * from lrx_user_table where username='%s' and password='%s';" %(uname,pwd)

sessionid=tools.my_md5(uname)

login_time=time.strftime("%Y%m%d%H%M%S")

u_id=result[0].get('id')

r=get_redis()

r.set('lrx_session:%s'%u_id,sessionid,60) #存redis的key、value、失效时间

res={"error_code":200,"sessionid":sessionid,"login_time":login_time}else:

res={"error_code":3001,"msg":"必填信息不全,请查看接口文档"}return json.dumps(res,ensure_ascii=False,indent=4)

@server.route('/pay',methods=['post'])defpay():

uid=flask.request.values.get('userid')

m= flask.request.values.get('money')

sessionid= flask.request.values.get('session')if uid and m andsessionid:

r=get_redis()

result=r.get('lrx_session:%s'%uid)if sessionid==result:

sql="select balance from lrx_account_table where u_id='%s';" %uid

bal=tools.my_mysqldb(sql)[0].get('balance')

balance=float(bal)

res={"error_code":200,"msg":"ok"}else:

res={"error_code":3003,"msg":"session已过期,请重新登录"}else:

res={"error_code":3001,"msg":"必填信息不全,请查看接口文档"}return json.dumps(res,ensure_ascii=False)

server.run(**server_info)

python获取redis数据_Python之操作redis数据库相关推荐

  1. python获取sap数据_python 连接 SAP HANA 数据库

    SAP HANA 是SAP 新的内存数据库: 目前学习python数据处理分析,现在想要连接 SAP HANA 数据库, 发现目前python已经发布了连接 SAP HANA的库 pyhddb 1.需 ...

  2. python获取erp数据_python自学之路-数据读取

    人家都说人生苦短, 要学Python.我也是看中计算机快速处理数据的优势,非常想学习这门语言,这真要开始了,确实觉得万事开头难,就此记录下这其中点点滴滴. 系统学习有些大海捞针,还是根据自己的实际需要 ...

  3. python获取游戏数据_Python 爬取 3 万条游戏评分数据,原来程序员最爱玩的游戏竟然是.........

    原标题:Python 爬取 3 万条游戏评分数据,原来程序员最爱玩的游戏竟然是...... 作者 |量化小白H 责编 | 胡巍巍 本文爬取了豆瓣游戏网站上所有可见的游戏评分数据进行分析,全文包括以下几 ...

  4. python多线程读取数据库数据_python多线程操作MySQL数据库pymysql

    python多线程操作MySQL数据库pymysql 项目中使用多线程操作数据库提示错误:pymysql.err.InterfaceError: (0, "),原因是pymysql的exec ...

  5. python获取天气数据_python获取天气数据

    三.具体实现 """ =================================== -*- coding:utf-8 -*- Author :GadyPu E_ ...

  6. python获取sap数据_Python驱动SAP GUI完成自动化(选择布局+动态获取节点值)

    讨论过如何利用工具Scripting Tracker录制python操纵SAP GUI的py脚本.软件的录制和生成的代码界面如下: 场景一:实际业务中,除了一些常规步骤,我们可能会驱动SAP GUI中 ...

  7. python获取字典长度_python字典操作

    python中字典用于存放具有映射关系的数据 字典中的key不能相同 字典中的key必须为不可变类型,所以可以是数.字符串.元组, 但不能是列表 创建字典 通过{}创建 dict1 = {'eric' ...

  8. python获取股票数据_python根据股票代码获取当前数据

    1.[代码][Python]代码 #!/usr/bin/env python # -*- coding: utf-8 -*- import urllib2 import re import datet ...

  9. python获取gps数据_python获取android设备的GPS信息脚本分享

    在android上,我们可以使用QPython来编写.执行Python脚本.它对很多android 系统函数进行了方便的封装,使用QPython编写功能简单的小程序异常方便. 这个示例是我之前用来读取 ...

最新文章

  1. 一种轻量级的C4C业务数据同步到S/4HANA的方式:Odata通知
  2. bzoj 1441: Min 裴蜀定理
  3. 机器人学习--Mobile robot国内外优秀实验室
  4. Laravel的初始化安装 1
  5. python面向对象基础语言进阶
  6. 浅谈分布式一致性:Raft 与 SOFAJRaft
  7. Spring概念理解
  8. 登录iis7 网站服务器上网站网页可以访问 但远程访问网站网页不能访问的解决方法
  9. Idea配置sbt(window环境)
  10. 2018/3/27 省选模拟赛 140分
  11. 软件工程 第二章 可行性研究
  12. linux c 静态连接,Linux cmake 静态链接boost
  13. construct2游戏设计与制作
  14. php+未找到驱动程序,显示未找到驱动程序,怎么办?
  15. 伊利诺伊大学香槟分校计算机工程,伊利诺伊大学香槟分校计算机工程排名第8(2020年TFE美国排名)...
  16. python找出大写字母_在大写之前提取元素 - python
  17. 计算机无法联网 如何解决,电脑无法连接网络或不能正常上网的解决方法
  18. Recorder丨Unity官方录屏插件使用介绍
  19. unity3d网络延时检测
  20. python Linux下的安装

热门文章

  1. 【案例】HOOPS Web平台助力Aras保持PLM市场领先地位
  2. Mac:itchat实现微信自动回复及解决乱码问题
  3. java swing 皮肤_基于Java Swing开发好看的皮肤
  4. python:imaplib --- IMAP4 协议客户端
  5. 蒋鑫:Git的特性及优点
  6. 步步高i508玩JAVA游戏_步步高i508怎好不好用
  7. 论文剽窃者“自爆家门”?CVPR 最后一天上演“一出好戏 ”!
  8. iOS 数据存储获取失败 - 存储路径带拼音声调的要转成英文
  9. eclipse编写java游戏_Ballgame eclipse编写的java小游戏 - 下载 - 搜珍网
  10. Win10 安装 MongoDB4