1. 程式人生 > >python 之操作redis數據庫(非關系型數據庫,k-v)

python 之操作redis數據庫(非關系型數據庫,k-v)

都是 ont sql 失效 font cal post nan 所有

數據庫:
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)