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数据库】的更多相关文章

  1. redis python 操作 Python操作Redis数据库

    原文章于此:https://www.cnblogs.com/cnkai/p/7642787.html 有个人修改与改正 Python操作Redis数据库   连接数据库 StrictRedisfrom ...

  2. python学习笔记(十六)python操作redis数据库

    Redis是一个key-value存储系统,它支持丰富的数据类型,如:string.list.set.zset(sorted set).hash. Redis特点 Redis以内存作为数据存储介质,所 ...

  3. Python操作Redis数据库

    连接数据库 StrictRedis from redis import StrictRedis # 使用默认方式连接到数据库 redis = StrictRedis(host='localhost', ...

  4. Python之操作redis数据库

    使用redis模块 一.操作redis 1.添加信息 (1)直接建key-value信息: 右键-Add New Key,手动添加key和value 右键-Console,打开控制台,写入命令 (2) ...

  5. Python学习笔记(五)之Python操作Redis、mysql、mongodb数据库

    操作数据库 一.数据库 数据库类型主要有关系型数据库和菲关系型数据库. 数据库:用来存储和管理数的仓库,数据库是通过依据“数据结构”将数据格式化,以记录->表->库的关系存储.因此数据查询 ...

  6. Python 操作Redis 转载篇

    Python操作Redis数据库 连接数据库 StrictRedis from redis import StrictRedis # 使用默认方式连接到数据库 redis = StrictRedis( ...

  7. 数据库之redis篇(3)—— Python操作redis

    虽然前面两篇已经说了redis的一些配置安装什么的,篇幅有点长,可能看完了也不知道怎么操作,这里再浓缩一下: 什么是redis redis完全开源免费的,遵守BSD协议,是一个高性能的非关系型key- ...

  8. python操作三大主流数据库(14)python操作redis之新闻项目实战②新闻数据的展示及修改、删除操作

    python操作三大主流数据库(14)python操作redis之新闻项目实战②新闻数据的展示及修改.删除操作 项目目录: ├── flask_redis_news.py ├── forms.py ├ ...

  9. python操作三大主流数据库(12)python操作redis的api框架redis-py简单使用

    python操作三大主流数据库(12)python操作redis的api框架redis-py简单使用 redispy安装安装及简单使用:https://github.com/andymccurdy/r ...

  10. redis缓存数据库及Python操作redis

    缓存数据库介绍  NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,泛指非关系型的数据库,随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站, 特 ...

随机推荐

  1. 移动设备检测类Mobile_Detect.php

    移动设备检测类Mobile_Detect.php http://mobiledetect.net/ 分类:PHP 时间:2015年11月28日 Mobile_Detect.php是一个轻量级的开源移动 ...

  2. Final发布中间产物

    目录 ❶版本控制 ❷软件功能说明书 ❸WBS ❹PSP 一.版本控制 ①Git地址:https://git.coding.net/tianjiping/Android-tianjiping.git ② ...

  3. Scrum Meeting 10.29

    成员 今日活动 明日计划 用时 徐越 配置tomcat+eclipse 将上届后端代码迁移到服务器 4h 赵庶宏 与数据库连接的java代码学习及编写,测试代码 进行数据库的建立并学习数据库方面的知识 ...

  4. 20145214 《网络对抗技术》 Web安全基础实践

    20145214 <网络对抗技术> Web安全基础实践 1.实验后回答问题 (1)SQL注入攻击原理,如何防御 SQL注入攻击就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的 ...

  5. java微信开发之接口连接

    个人学习注册订阅号就行,把资料尽可能完善,不然开发时权限不够,然后登陆,点击订阅号然后扫码就可以微信关注.

  6. C++自学随笔

    主要学习内容: 了解了IDE环境的含义 C++与C的区别: 新的数据类型:bool型 新的初始化方法:直接初始化int x(1024) 经过查找,了解了直接初始化与复制初始化的区别:"当用于 ...

  7. 谷歌地图api 开发 (转载)

    https://www.cnblogs.com/520lin/p/5800024.html

  8. Beta阶段团队项目开发篇章4

    例会时间 2016.12.11 例会照片 个人工作 上阶段任务验收 删除robot功能较为简单,基本实现,但是一直Question版块任务量过大,考虑到最近要进行编译课设第二次测试,为该任务再分配一段 ...

  9. 获取SQL Server中连接的客户端IP地址[转]

    有时候需要获取连接到SQL Server服务器上的客户端IP地址,用什么办法呢? SELECT *FROM sys.dm_exec_connections WHERE session_id = @@S ...

  10. 我所理解的Delphi中的数组类型

    数组可以使Object Pascal所拥有的任何数据类型,数组是一些数值的简单集合. var   MyArray: ..] of Integer;        { 声明一个数组包括5个整数数值} b ...