数据库:
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. Oracle字符串分割Split(超简单一条sql解决)

    ) FROM renyuan where name ='张三' 解决如下问题 我现在有一个字段是存:,,3的,而它对应另一张值集表中.eg; 课程人员表 renyuan id name Course ...

  2. e2fsprogs 移植

    e2fsprogs是用维护ext2,ext3和ext4文件系统的工具程序集.检测和修复文件系统,需要用到其中的fsck, ext2fs等工具, 由于开发板上没有,重新制作文件系统又比较麻烦.所以就需要 ...

  3. 为什么选择使用Spring Cloud而放弃了Dubbo

    为什么选择使用Spring Cloud而放弃了Dubbo 可能大家会问,为什么选择了使用Dubbo之后,而又选择全面使用Spring Cloud呢?其中有几个原因: 1)从两个公司的背景来谈:Dubb ...

  4. .NET Entity Framework(EF)使用SqlQuery直接操作SQL查询语句或者执行过程

    Entity Framework是微软出品的高级ORM框架,大多数.NET开发者对这个ORM框架应该不会陌生.本文主要罗列在.NET(ASP.NET/WINFORM)应用程序开发中使用Entity F ...

  5. android4.4上全屏界面实现禁止状态栏下拉

    附上我改动的方法:PhoneWindowManager.java里面的改动 --- a/frameworks/base/policy/src/com/android/internal/policy/i ...

  6. python定义函数时的默认返回值

    python定义函数时,一般都会有指定返回值,如果没有显式指定返回值,那么python就会默认返回值为None, 即隐式返回语句: return None 执行如下代码 def now(): prin ...

  7. ionic ngRepeat追加数据(加载更多,不需要重复渲染dom数据)

    1)模版循环在之前的随笔中已经说过,使用挺简单的 http://www.cnblogs.com/tujia/p/6078217.html 简单来说就是控制器输入一个数据变量,模版里用ng-repeat ...

  8. JQZoom

    UI采用jQuery插件 习惯网购的朋友都深有体会.大部分皇冠级淘宝卖家都是图片控.京东商城的放大图效果也是吸引消费者的法宝之一.京东商城产品展示页支持多图切换并放大代码,放大功能的核心代码为jQzo ...

  9. Android上几种Animation和多个动画同时播放以ScaleAnimation应用详解

    在API Demo的View->Animation下可以找到四个Animation的Demo,第一个3D Translate比较复杂,最后再讲,先讲第2个Interpolator.该Activi ...

  10. 160311、mybatis sql语句中转义字符

    问题: 在mapper  ***.xml中的sql语句中,不能直接用大于号.小于号要用转义字符 解决方法:   1.转义字符串 小于号    <    < 大于号    >    & ...