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. linux简单命令常用随记

    //查看网络信息 ifconfig //修改ip地址 ifconfig eth0 123.123.123.123 netmask 255.255.255.0 //网关设置 route add defa ...

  2. BugPhobia展示篇章:学霸在线系统Alpha阶段展示

    0x00:序言 1 universe, 9 planets, 204 countries,809 islands, 7 seas, and i had the privilege to meet yo ...

  3. 2-Fourth Scrum Meeting20151204

    任务安排 闫昊: 今日完成:设计本地数据库. 明日任务:请假.(最近代码写得多……很累……) 唐彬: 今日完成:ios客户端代码的了解. 明日任务:ios客户端代码的深度学习. 史烨轩: 今日完成: ...

  4. bata3

    目录 组员情况 组员1(组长):胡绪佩 组员2:胡青元 组员3:庄卉 组员4:家灿 组员5:凯琳 组员6:翟丹丹 组员7:何家伟 组员8:政演 组员9:黄鸿杰 组员10:刘一好 组员11:何宇恒 展示 ...

  5. NABCD(网上投票系统)

    网上投票系统 N(need) 投票这件事情,在所有事情上都可能用得到,在互联网的影响下,投票的范围变得越来越广,比如在商业的里,往往要做市场分析,那么在互联网这个大的前提下,用网上投票系统来获取用户的 ...

  6. DPDK L2fwd 源码阅读

    代码部分 /* SPDX-License-Identifier: BSD-3-Clause * Copyright(c) 2010-2016 Intel Corporation */ #include ...

  7. Week4-作业1:阅读与博客

    第四章.两人合作 1.原文: 在变量面前加上有意义的前缀,程序员就能一眼看出变量的类型及相应的语义.这就是“匈牙利命名法”的用处.还有一些地方不适合用“匈牙利命名法”,比如,在一些强类型的语言(如C# ...

  8. React监听窗口变化事件

    功能说明:本例子采用MUI table组件 + React实现. 需求描述:固定表头,列表高度随浏览器窗口的改变而改变.(本例中当窗口高度小于472像素后,便不作限制) 实现简介:1.监听浏览器窗口, ...

  9. Linux下的网卡Bonding

    1. 网卡Bonding一共有0-6七种mode,具体区别请自行搜索: 2. 建议通过nmtui命令在交互模式下配置,这样不会落下重要的字段,也不用去记忆到底有哪些字段: 3. 我的实验环境是VMWa ...

  10. 快速用梯度下降法实现一个Logistic Regression 分类器

    前阵子听说一个面试题:你实现一个logistic Regression需要多少分钟?搞数据挖掘的人都会觉得实现这个简单的分类器分分钟就搞定了吧? 因为我做数据挖掘的时候,从来都是顺手用用工具的,尤其是 ...