python获取redis数据_Python之操作redis数据库
使用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数据库相关推荐
- python获取sap数据_python 连接 SAP HANA 数据库
SAP HANA 是SAP 新的内存数据库: 目前学习python数据处理分析,现在想要连接 SAP HANA 数据库, 发现目前python已经发布了连接 SAP HANA的库 pyhddb 1.需 ...
- python获取erp数据_python自学之路-数据读取
人家都说人生苦短, 要学Python.我也是看中计算机快速处理数据的优势,非常想学习这门语言,这真要开始了,确实觉得万事开头难,就此记录下这其中点点滴滴. 系统学习有些大海捞针,还是根据自己的实际需要 ...
- python获取游戏数据_Python 爬取 3 万条游戏评分数据,原来程序员最爱玩的游戏竟然是.........
原标题:Python 爬取 3 万条游戏评分数据,原来程序员最爱玩的游戏竟然是...... 作者 |量化小白H 责编 | 胡巍巍 本文爬取了豆瓣游戏网站上所有可见的游戏评分数据进行分析,全文包括以下几 ...
- python多线程读取数据库数据_python多线程操作MySQL数据库pymysql
python多线程操作MySQL数据库pymysql 项目中使用多线程操作数据库提示错误:pymysql.err.InterfaceError: (0, "),原因是pymysql的exec ...
- python获取天气数据_python获取天气数据
三.具体实现 """ =================================== -*- coding:utf-8 -*- Author :GadyPu E_ ...
- python获取sap数据_Python驱动SAP GUI完成自动化(选择布局+动态获取节点值)
讨论过如何利用工具Scripting Tracker录制python操纵SAP GUI的py脚本.软件的录制和生成的代码界面如下: 场景一:实际业务中,除了一些常规步骤,我们可能会驱动SAP GUI中 ...
- python获取字典长度_python字典操作
python中字典用于存放具有映射关系的数据 字典中的key不能相同 字典中的key必须为不可变类型,所以可以是数.字符串.元组, 但不能是列表 创建字典 通过{}创建 dict1 = {'eric' ...
- python获取股票数据_python根据股票代码获取当前数据
1.[代码][Python]代码 #!/usr/bin/env python # -*- coding: utf-8 -*- import urllib2 import re import datet ...
- python获取gps数据_python获取android设备的GPS信息脚本分享
在android上,我们可以使用QPython来编写.执行Python脚本.它对很多android 系统函数进行了方便的封装,使用QPython编写功能简单的小程序异常方便. 这个示例是我之前用来读取 ...
最新文章
- 一种轻量级的C4C业务数据同步到S/4HANA的方式:Odata通知
- bzoj 1441: Min 裴蜀定理
- 机器人学习--Mobile robot国内外优秀实验室
- Laravel的初始化安装 1
- python面向对象基础语言进阶
- 浅谈分布式一致性:Raft 与 SOFAJRaft
- Spring概念理解
- 登录iis7 网站服务器上网站网页可以访问 但远程访问网站网页不能访问的解决方法
- Idea配置sbt(window环境)
- 2018/3/27 省选模拟赛 140分
- 软件工程 第二章 可行性研究
- linux c 静态连接,Linux cmake 静态链接boost
- construct2游戏设计与制作
- php+未找到驱动程序,显示未找到驱动程序,怎么办?
- 伊利诺伊大学香槟分校计算机工程,伊利诺伊大学香槟分校计算机工程排名第8(2020年TFE美国排名)...
- python找出大写字母_在大写之前提取元素 - python
- 计算机无法联网 如何解决,电脑无法连接网络或不能正常上网的解决方法
- Recorder丨Unity官方录屏插件使用介绍
- unity3d网络延时检测
- python Linux下的安装
热门文章
- 【案例】HOOPS Web平台助力Aras保持PLM市场领先地位
- Mac:itchat实现微信自动回复及解决乱码问题
- java swing 皮肤_基于Java Swing开发好看的皮肤
- python:imaplib --- IMAP4 协议客户端
- 蒋鑫:Git的特性及优点
- 步步高i508玩JAVA游戏_步步高i508怎好不好用
- 论文剽窃者“自爆家门”?CVPR 最后一天上演“一出好戏 ”!
- iOS 数据存储获取失败 - 存储路径带拼音声调的要转成英文
- eclipse编写java游戏_Ballgame eclipse编写的java小游戏 - 下载 - 搜珍网
- Win10 安装 MongoDB4