Python【操作Redis数据库】
Redis非关系型数据库,数据存放在计算机内存中,无SQL语句。
Redis中有多种数据类型,比较常用的数据类型是string类型和hash类型。
平时我们使用RedisDesktopManager来对Redis中的数据进行可视化管理 import redis
r = redis.Redis(host='127.0.0.1',password='HK139bc&*',db=14,port=6379) print("============redis string类型=============")
#1、新增
r.set("zhangsan","张三爱打游戏!")
r.set("lisi","李四爱打游戏!")
r.set("wangwu","王五爱打游戏!") #2、修改
r.set("zhangsan","张三的爷爷是红军战士!")
r.set("lisi","李四的爷爷是红军战士!")
r.set("wangwu","王五的爷爷是红军战士!") #3
# 数据不存在时,创建新key,同时设置key的失效时间,时间是秒
#数据存在时,修改key,同时设置key的失效时间,时间是秒
#r.setex("sunhonglei","孙红雷的爷爷是红军战士",100)
r.expire("sunhonglei",300) #4、查询
val = r.get("sunhonglei")
if val:
print(val.decode()) #获取key,keys()返回的是一个二进制格式的数据,需要decode()解码才能识别
print("匹配【任意字符开头,s结尾】的key:",r.keys('*s'))
print("匹配【s开头,任意字符结尾】的key:",r.keys('s*'))
print("返回包含【s】的key:",r.keys("*s*"))
print("返回所有key:",r.keys("*"))
print("返回所有key:",r.keys()) #get()返回的是一个二进制格式的数据,需要decode()解码才能识别
r.set('天蝎座:fsy','湖南人')
print(r.get("天蝎座:fsy").decode()) #5、删除
# r.delete("zhangsan")
# r.delete("lisi",'wangwu')
#删除所有的key
# for k in r.keys():
# r.delete(k) print("========redis hash类型=========")
#新增
r.hset('stu_info','甜甜姐','真漂亮')
r.hset('stu_info','春天','百花齐放')
r.hset('stu_info','夏天','太热了,狗儿猫儿热的不停地吐舌头') #修改
r.hset('stu_info','甜甜姐','真漂亮,年轻就是美')
r.hset('stu_info','春天','百花齐放,色彩斑斓')
r.hset('stu_info','夏天','太热了,狗儿猫儿热的不停地吐舌头,娃娃们往地里跑,抱回一个个的大西瓜,啃个不停') #查询
print("指定大key和小key获取对应的数据:",r.hget('stu_info','甜甜姐').decode())
#获取所有的key和value:
my_dic = r.hgetall("stu_info")
for k,v in my_dic.items():
print(k.decode(),v.decode()) new_stu_info = {}
for k,v in my_dic.items():
new_stu_info[k.decode()] = v.decode()
print(new_stu_info) #查看key是什么类型的
print(r.type('stu_info')) #删除
# print("删除指定key:",r.hdel('stu_info','春天'))
# print("删除整个key",r.delete('stu_info'))
r.expire("stu_info",120) print("===========redis hash练习代码===========")
#1、连数据库,查到数据库里面所有的数据,游标类型要用pymysql.curosrs.DictCour
#2、查到所有数据 [ {"id":1,"passwd":"49487dd4f94008a6110275e48ad09448","username":"niuhayang","is_admin":1}]
#3、循环这个list,取到usernamer,把username当做key
#4、再把这个小字典转成json,存进去就ok。
import pymysql,json,redis
r = redis.Redis(host='127.0.0.1',password='HK139bc&*',db=13,port=6379)
conn = pymysql.connect(host='127.0.0.1',user='jxz',passwd='123456',db='jxz',charset='utf8')
cur = conn.cursor(cursor=pymysql.cursors.DictCursor)
cur.execute('select * from my_user limit 5;')
all_data = cur.fetchall()
print(all_data)
for data in all_data:
k = data.get('username')
r.hset('stu_info',k,json.dumps(data))
r.expire("stu_info",300)
cur.close()
conn.close()
Python【操作Redis数据库】的更多相关文章
- redis python 操作 Python操作Redis数据库
原文章于此:https://www.cnblogs.com/cnkai/p/7642787.html 有个人修改与改正 Python操作Redis数据库 连接数据库 StrictRedisfrom ...
- python学习笔记(十六)python操作redis数据库
Redis是一个key-value存储系统,它支持丰富的数据类型,如:string.list.set.zset(sorted set).hash. Redis特点 Redis以内存作为数据存储介质,所 ...
- Python操作Redis数据库
连接数据库 StrictRedis from redis import StrictRedis # 使用默认方式连接到数据库 redis = StrictRedis(host='localhost', ...
- Python之操作redis数据库
使用redis模块 一.操作redis 1.添加信息 (1)直接建key-value信息: 右键-Add New Key,手动添加key和value 右键-Console,打开控制台,写入命令 (2) ...
- Python学习笔记(五)之Python操作Redis、mysql、mongodb数据库
操作数据库 一.数据库 数据库类型主要有关系型数据库和菲关系型数据库. 数据库:用来存储和管理数的仓库,数据库是通过依据“数据结构”将数据格式化,以记录->表->库的关系存储.因此数据查询 ...
- Python 操作Redis 转载篇
Python操作Redis数据库 连接数据库 StrictRedis from redis import StrictRedis # 使用默认方式连接到数据库 redis = StrictRedis( ...
- 数据库之redis篇(3)—— Python操作redis
虽然前面两篇已经说了redis的一些配置安装什么的,篇幅有点长,可能看完了也不知道怎么操作,这里再浓缩一下: 什么是redis redis完全开源免费的,遵守BSD协议,是一个高性能的非关系型key- ...
- python操作三大主流数据库(14)python操作redis之新闻项目实战②新闻数据的展示及修改、删除操作
python操作三大主流数据库(14)python操作redis之新闻项目实战②新闻数据的展示及修改.删除操作 项目目录: ├── flask_redis_news.py ├── forms.py ├ ...
- python操作三大主流数据库(12)python操作redis的api框架redis-py简单使用
python操作三大主流数据库(12)python操作redis的api框架redis-py简单使用 redispy安装安装及简单使用:https://github.com/andymccurdy/r ...
- redis缓存数据库及Python操作redis
缓存数据库介绍 NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,泛指非关系型的数据库,随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站, 特 ...
随机推荐
- Spring MVC controller的方法返回值
ModeAndView 可以在构造时确定需要跳转的页面也可以通过setViewName方法来确定需要跳转的页面 String 指定返回页面的视图名称,页面跳转,如果加了@ResponseBody注解, ...
- Spring的Controller映射规则
URL映射 1) 一般格式@RequestMapping(value=“/test”) 2) 可以使用模板模式映射,@RequestMapping(value=“/test/{userId}”) 3) ...
- 实验1:java开发环境的熟悉
一.实验内容 1. 使用JDK编译.运行简单的Java程序 2.使用Eclipse 编辑.编译.运行.调试Java程序 3.实现四则运算并进行测试. 二.实验知识点 1. JVM.JRE.JDK的安装 ...
- 实验一linux 系统简介和实验二基本概念及操作
作业 zy e
- 2018-2019-20172321 《Java软件结构与数据结构》第七周学习总结
2018-2019-20172321 <Java软件结构与数据结构>第七周学习总结 教材学习内容总结 第11章 二叉查找树 一.概述 二叉查找树是一种含有附加属性的二叉树,该属性即其左孩子 ...
- 关于httpServlet.service()步骤
关于httpServlet.service()步骤 关于()方法 1.HTTP Servlet 使用一个 HTML 表格来发送和接收数据.要创建一个 HTTP Servlet,就需要扩展 HttpSe ...
- wamp 修改www目录
我的情况 Wamp版本:2.2 WAMP2.2安装目录:C:/ www目录:D:/wamp/www/ 变更目录:E:/HbuilderProjects/ 一 主要过程: (1)修改 D:\wamp\b ...
- 深入理解Java类加载器(1)
类加载器概述: java类的加载是由虚拟机来完成的,虚拟机把描述类的Class文件加载到内存,并对数据进行校验,解析和初始化,最终形成能被java虚拟机直接使用的java类型,这就是虚拟机的类加载机制 ...
- mybati内sql查询语句在两个日期内
装载自: http://blog.csdn.net/u010442302/article/details/72902441?locationNum=9&fps=1 <select i ...
- 深入探索.NET内部了解CLR如何创建运行时对象
前言 SystemDomain, SharedDomain, and DefaultDomain. 对象布局和内存细节. 方法表布局. 方法分派(Method dispatching). 因为公共语言 ...