python 之操作redis数据库(非关系型数据库,k-v)
数据库:
1. 关系型数据库
- 表结构
2. 非关系型数据库 nosql (k - v 速度快),常用的时以下三种:
- memcache 存在内存里
- redis 存在内存里
- mangodb 数据还是存在磁盘上
Redis里的数据类型有String 和hash类型,下面主要是对Redis 的一些操作。
一、String类型
r = redis.Redis(host='localhost',port=6379,db=3)
r.set('nancy2','') #set数据
print(r.get('nancy')) # b'201801211505'
print(r.get('unexsitkey')) #->None
print(r.get('nancy1').decode()) #redis 里面取出来的数据都是bytes类型,所有要用decode()方法转成字符串 ->201801211505
r.delete('nancy') #删除一个
r.setex('nancy_session','aaabb66','') #可以指定key的失效时间,最后一个单位,单位是秒
r.set('redis:nancy','python000')
r.set('redis:nancy1','redis00123')
r.set('redis1:kate','redis11')
print(r.keys())#byte 类型,list 所有的key
print(r.keys('redis*')) #以txz开头的key,byte 类型,-> [b'redis:nancy1', b'redis:nancy', b'redis1:kate']
print(r.type('redis:nancy')) #-> b'string'
注意: set get delete setex 都是针对redis里的string类型
二、hash类型
r.hset('sessions','lily','')
r.hset('sessions','kate','')
value = r.hget('sessions','nancy') #获取数据
print(value)
value1 = r.hget('session','unexsit')#不存在返回None
print(value1)
redis_data = r.hgetall('sessions') #获取hash类型里所有的数据,数据类型是字典
all_date = {}
for k,v in redis_data.items():
k = k.decode()
v = v.decode()
all_date[k] = v
print(redis_data)#byte 型的字典,{b'kate': b'34901', b'lily': b'167890'}
print(r.type('sessions')) #获取key的类型 -> b'hash'
python 之操作redis数据库(非关系型数据库,k-v)的更多相关文章
- 初识MySQL,关系型数据库&非关系型数据库
初识MySQL,关系型数据库&非关系型数据库 数据库的分类: 关系型数据库:(SQL) MySQL,Oracle,Sql Server,DB2,SQLlite 通过表和表之间,行和列之间的关系 ...
- Redis 01: 非关系型数据库 + 配置Redis
数据库应用的发展历程 单机数据库时代:一个应用,一个数据库实例 缓存时代:对某些表中的数据访问频繁,则对这些数据设置缓存(此时数据库中总的数据量不是很大) 水平切分时代:将数据库中的表存放到不同数据库 ...
- mongo数据库--非关系型数据库
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdGFuZ2xpdXFpbmc=/font/5a6L5L2T/fontsize/400/fill/I0JBQk ...
- Java Redis系列1 关系型数据库与非关系型数据库的优缺点及概念
Java Redis系列1 关系型数据库与非关系型数据库的优缺点及概念 在学习redis之前我们先来学习两个概念,即什么是关系型数据库什么是非关系型数据库,二者的区别是什么,二者的关系又是什么? ** ...
- 非关系型数据库redis-java基本操作
概述 redis是一个key-value的nosql数据库(非关系型数据库).支持存储的value类型包括string(字符串).list(链表).set(集合).zset(sorted set -- ...
- 初识关系型数据库(SQL)与非关系型数据库(NOSQL)
一.关系型数据库(SQL): Mysql,oracle 特点:数据和数据之间,表和字段之间,表和表之间是存在关系的 例如:部门表 001部分, 员工表 001 用户表,用户名.密码 分类表 和 商 ...
- 数据库基础 非关系型数据库 MongoDB 和 redis
数据库基础 非关系型数据库 MongoDB 和 redis 1 NoSQL简介 访问量增加,频繁的读写 直接访问(硬盘)物理级别的数据,会很慢 ,关系型数据库的压力会很大 所以,需要内存级的读写操作, ...
- Python进阶----数据库的基础,关系型数据库与非关系型数据库(No SQL:not only sql),mysql数据库语言基础(增删改查,权限设定)
day37 一丶Python进阶----数据库的基础,mysql数据库语言基础(增删改查,权限设定) 什么是数据库: 简称:DataBase ---->DB 数据库即存放数据的仓库, ...
- Redis非关系型数据库
1.简介 Redis是一个基于内存的Key-Value非关系型数据库,由C语言进行编写. Redis一般作为分布式缓存框架.分布式下的SESSION分离.分布式锁的实现等等. Redis速度快的原因: ...
随机推荐
- Python 矩阵与矩阵以及矩阵与向量的乘法
import numpy as np numpy模块的array相乘时,有两种方式:一是矩阵形式,二是挨个相乘. 需要用矩阵形式相乘时,则要用np.dot()函数. #矩阵与矩阵相乘a = np.ar ...
- SSM,即Spring+SpringMVC+MyBatis三个开源框架的整合框架集。
SSM(Spring+SpringMVC+MyBatis)框架集由Spring.SpringMVC.MyBatis三个开源框架整合而成,常作为数据源较简单的web项目的框架. 其中spring是一个轻 ...
- debugging openstack with pdb
在要开始debug的地方导入pdb: class KeypairAPI(base.Base): """Sub-set of the Compute Manager API ...
- bootstrap基础学习八篇
bootstrap辅助类 a.对于文本颜色 以下不同的类展示了不同的文本颜色.如果文本是个链接鼠标移动到文本上会变暗: 类 描述 .text-muted "text-muted" ...
- iOS开发之--NSNotificationCenter的使用
NSNotification是IOS中一个调度消息通知的类,采用单例模式设计,在程序中实现传值.回调等地方应用很广 iOS中通知中心NSNotificationCenter应用总结 一.了解几个相关的 ...
- Docker(1)在CentOS上的安装与卸载
一. Docker的安装 CentOS7 上安装: 1. 卸载旧版本 $ sudo yum remove docker \ docker-client \ docker-client-latest ...
- 深度解析Objective-C笔试题
2011-08-11 17:39 佚名 互联网 字号:T | T 本文介绍的是Objective-C笔试题,先来问一个,为什么很多内置类如UITableViewController的delegate属 ...
- SSM框架---搭建
SSM框架简介 SSM框架,是spring + spring MVC + MyBatis的缩写,这个是继SSH之后,目前比较主流的Java EE企业级框架,适用于搭建各种大型的企业级应用系统. Spr ...
- jquery remove() detach() empty()三种方法的区别
remove方法把事件删除掉了,数据并没有删除 detach方法保存了事件和数据 empty方法保留了元素本身,移除子节点,删除内容 举例: <!DOCTYPE html><html ...
- DPK750针式打印机驱动,750u.dll下载
http://pan.baidu.com/s/1dD1SFvV DPK750针式打印机 下载