1. 数据库简介:
当前主要使用两种类型的数据库:关系型数据库(RDBMS)、非关系型数据库(NoSQL);
(1). 关系型数据库RDBMS: 是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据;
关系型数据库的主要产品:
oracle:在以前的大型项目中使用,银行,电信等项目
mysql:web时代使用最广泛的关系型数据库
sqlite:轻量级数据库,主要应用在移动平台
(2). 非关系型数据库(NoSQL): not only SQL , 泛指非关系型的数据库,不支持SQL语句,存储结构跟传统关系型数据库中的那种关系表完全不同,
nosql中存储的数据都是KV形式.
非关系型数据库主要产品:
Mongodb
Redis
Hbase hadoop
Cassandra hadoop
2. Redis 简介:
Redis是 NoSQL技术阵营中的一员,一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API. Redis支持数据的持久化存储, 不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储, Redis性能极高,主要用作缓存.
3. 数据操作
string:
设置值: set key value
获取值: get key
设置过期时间: setex bey seconds value
设置多个键值对: mset key1 values1 key2 values
追加值: append key value
删除所有的键值对: flushall
键命令:
查看所有的符合给定模式的键: keys pattern
判断键是否存在: exists key
删除键及对应的值: del key1 key2
设置过期时间; expire key seconds
哈希(hash):
设置单个属性: hset key filed value
设置多个属性: hest key filed1 value1 filed2 value2
获取一个属性的值; hget key filed
获取多个属性的值; hget key filed1 filed2
获取指定键所有属性: hget key
获取所有属性的值; hval key
4. Redis与python的交互
安装Redis pip inatall redis
from redis import *
if __name__=="__main__": try: # 创建StrictRedis对象,与redis服务器建⽴连接 sr=StrictRedis(
decode_responses=True)
# 设置值
sr.set("name", "laowang")
# 获取键name的值 result = sr.get('name') # 输出键的值,如果键不存在则返回None print(result) except Exception as e: print(e)