数据库:
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,201801211505) #set 数据
- print(r.get(nancy)) # b201801211505
- print(r.get(unexsitkey)) #->None
- print(r.get(nancy1).decode()) #redis 里面取出来的数据都是 bytes 类型, 所有要用 decode() 方法转成字符串 ->201801211505
- r.delete(nancy) #删除一个
- r.setex(nancy_session,aaabb66,20) #可以指定 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 类型,-> [bredis:nancy1, bredis:nancy, bredis1:kate]
- print(r.type(redis:nancy)) #-> bstring
注意: set get delete setex 都是针对 redis 里的 string 类型
二 hash 类型
- r.hset(sessions,lily,167890)
- r.hset(sessions,kate,34901)
- 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 型的字典,{bkate: b34901, blily: b167890}
- print(r.type(sessions)) #获取 key 的类型 -> bhash
python 之操作 redis 数据库 (非关系型数据库, k-v)
来源: http://www.bubuko.com/infodetail-2486772.html