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网站, 特 ...
随机推荐
- Oracle purge 用法介绍
http://blog.csdn.net/indexman/article/details/27379597
- 四则运算2及PSP0设计项目计划
时间比较紧,我简单写写我的设计思路: 题目在四则运算1的基础上控制产生题目的数量,这个可以用变量控制:打印方式也可选用变量控制,程序的关键是括号的生成.我们可以将整个四则运算式看成()+()的模型,然 ...
- Pl/sql学习笔记2
-- declare type vsal_table is table of emp.sal%type; a vsal_table; begin --必须得初始化 并且有数量上的区分 从一开的 a ...
- 可视化实时Web日志分析工具-goaccess
说到web服务器就不得不说Nginx,目前已成为企业建站的首选.但由于种种历史原因,Nginx日志分析工具相较于传统的apache.lighthttp等还是少很多. 今天就和大家分享一个非常强大的实时 ...
- “吃神么,买神么”的第二个Sprint计划
“吃神么,买神么”的第二个Sprint计划 一.现状 前台布局设计完成一个主页,可以让浏览者了解我们网站的功能,这是第一个阶段的Spring完成的事情.由于没有实际的功能体现,所以第二阶段开始 ...
- Java面试&编写程序:使子线程循环10次,紧接着主线程循环100次,来回50次
package com.cwcec.test; public class TraditionalThreadCommunication { /** * @param args */ public st ...
- 微信小程序Mustache语法
小程序开发的wxml里,用到了Mustache语法.所以,非常有必要把Mustache研究下. 什么是Mustache?Mustache是一个logic-less(轻逻辑)模板解析引擎,它是为了使用户 ...
- 经纬转换成point的sql
.UPDATE xx.zd_kakou_info t,(SELECT kakou_id, kakou_lon,kakou_lat,CONCAT('POINT(' , kakou_lon ,' ',ka ...
- ini_set的权限大于error_reporting
在用php做网站开发的时候 , 为防止用户看到错误信息,而出现的不友好界面.故一般性会在php.ini里设置:display_errors = Off;不过在开发的时候,我们有时候需要打开错误信息.这 ...
- 如何处理UIVIew addsubview 不显示subview
老代码: addsubview不显示uilabel -(UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSIn ...