码迷,mamicode.com
首页 > 数据库 > 详细

python 之操作redis数据库(非关系型数据库,k-v)

时间:2018-02-04 14:45:21      阅读:202      评论:0      收藏:0      [点我收藏+]

标签:取数据   内存   let   session   type   god   oca   操作   存在   

数据库:
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)) # b‘201801211505‘
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 类型,-> [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,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 型的字典,{b‘kate‘: b‘34901‘, b‘lily‘: b‘167890‘}
print(r.type(sessions)) #获取key的类型 -> b‘hash‘

 

python 之操作redis数据库(非关系型数据库,k-v)

标签:取数据   内存   let   session   type   god   oca   操作   存在   

原文地址:https://www.cnblogs.com/nancyzhu/p/8338141.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!