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

  1. 初识MySQL,关系型数据库&非关系型数据库

    初识MySQL,关系型数据库&非关系型数据库 数据库的分类: 关系型数据库:(SQL) MySQL,Oracle,Sql Server,DB2,SQLlite 通过表和表之间,行和列之间的关系 ...

  2. Redis 01: 非关系型数据库 + 配置Redis

    数据库应用的发展历程 单机数据库时代:一个应用,一个数据库实例 缓存时代:对某些表中的数据访问频繁,则对这些数据设置缓存(此时数据库中总的数据量不是很大) 水平切分时代:将数据库中的表存放到不同数据库 ...

  3. mongo数据库--非关系型数据库

    watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdGFuZ2xpdXFpbmc=/font/5a6L5L2T/fontsize/400/fill/I0JBQk ...

  4. Java Redis系列1 关系型数据库与非关系型数据库的优缺点及概念

    Java Redis系列1 关系型数据库与非关系型数据库的优缺点及概念 在学习redis之前我们先来学习两个概念,即什么是关系型数据库什么是非关系型数据库,二者的区别是什么,二者的关系又是什么? ** ...

  5. 非关系型数据库redis-java基本操作

    概述 redis是一个key-value的nosql数据库(非关系型数据库).支持存储的value类型包括string(字符串).list(链表).set(集合).zset(sorted set -- ...

  6. 初识关系型数据库(SQL)与非关系型数据库(NOSQL)

    一.关系型数据库(SQL): Mysql,oracle 特点:数据和数据之间,表和字段之间,表和表之间是存在关系的 例如:部门表 001部分,   员工表 001 用户表,用户名.密码 分类表 和 商 ...

  7. 数据库基础 非关系型数据库 MongoDB 和 redis

    数据库基础 非关系型数据库 MongoDB 和 redis 1 NoSQL简介 访问量增加,频繁的读写 直接访问(硬盘)物理级别的数据,会很慢 ,关系型数据库的压力会很大 所以,需要内存级的读写操作, ...

  8. Python进阶----数据库的基础,关系型数据库与非关系型数据库(No SQL:not only sql),mysql数据库语言基础(增删改查,权限设定)

    day37 一丶Python进阶----数据库的基础,mysql数据库语言基础(增删改查,权限设定) 什么是数据库:    简称:DataBase ---->DB    数据库即存放数据的仓库, ...

  9. Redis非关系型数据库

    1.简介 Redis是一个基于内存的Key-Value非关系型数据库,由C语言进行编写. Redis一般作为分布式缓存框架.分布式下的SESSION分离.分布式锁的实现等等. Redis速度快的原因: ...

随机推荐

  1. 23SpringMvc_各种参数绑定方式-就是<input那种

    本篇博文转载自http://www.cnblogs.com/HD/p/4107674.html: SpringMVC的各种参数绑定方式 1. 基本数据类型(以int为例,其他类似):Controlle ...

  2. Codeforces Round #265 (Div. 2)

    http://codeforces.com/contest/465 rating+7,,简直... 感人肺腑...............蒟蒻就是蒟蒻......... 被虐瞎 a:inc ARG 题 ...

  3. 【HDU】3622 Bomb Game(2-SAT)

    http://acm.hdu.edu.cn/showproblem.php?pid=3622 又是各种逗.. 2-SAT是一种二元约束,每个点可以置于两种状态,但只能处于一种状态,然后图是否有解就是2 ...

  4. 曲线学习PyQt5方案一

    PyQt5官方网站没直接给出API,这个很操蛋啊. PtQt4官方网站有完整的API,C++版本的Qt5也能找到完整的API资料.由于Qt5的C++和Python3的类和函数实现应该是一致的,所以可以 ...

  5. 一条SQL语句查询两表中两个字段

    首先描述问题,student表中有字段startID,endID.garde表中的ID需要对应student表中的startID或者student表中的endID才能查出grade表中的name字段, ...

  6. (转)session、cookie与“记住我的登录状态”的功能的实现

    Cookie的机制 Cookie是浏览器(User Agent)访问一些网站后,这些网站存放在客户端的一组数据,用于使网站等跟踪用户,实现用户自定义功能. Cookie的Domain和Path属性标识 ...

  7. HTTP报文-->MVC

    引用 学习Web开发不好好学习HTTP报文,将会“打拳不练功,到老一场空”,你花在犯迷糊上的时间比你沉下心来学习HTTP的时间肯定会多很多. HTTP请求报文解剖 HTTP请求报文由3部分组成(请求行 ...

  8. ajax 请求登录超时跳转登录页的示例代码

    Ajax AJAX即“Asynchronous Javascript + XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术. 在Filter里判断是否登录,如果未 ...

  9. Mybatis框架中Mapper文件传值参数获取。【Mybatis】

    1.参数个数为1个(string或者int) dao层方法为以下两种: /** * 单个int型 */ public List<UserComment> findByDepartmentI ...

  10. SPOJ 375 QTREE

    题目链接:传送门 题目大意:给一棵无根树,树边有权值,有很多次操作,QUERY代表询问从 x 到 y 路径上的边的最大 权值,CHANGE代表改变按输入顺序第 x 条边的权值为 y. 对于每个QUER ...