最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python操作redis和mongoDB的方法

 更新時間:2019年12月19日 08:23:41   作者:艾里_Simple  
redis是一個key-value存儲系統(tǒng),value的類型包括string(字符串),list(鏈表),set(集合),zset(有序集合),hash(哈希類型)。這篇文章主要介紹了Python操作redis和mongoDB的方法,需要的朋友可以參考下

一、操作redis

redis是一個key-value存儲系統(tǒng),value的類型包括string(字符串),list(鏈表),set(集合),zset(有序集合),hash(哈希類型)。為了保證效率,數據都是緩沖在內存中,在處理大規(guī)模數據讀寫的場景下運用比較多。

備注:默認redis有16個數據庫,即db0~db15, 一般存取數據如果不指定庫的話,默認都是存在db0中。

resid提供2種連接方式:直接連接、連接池連接

1、直接連接示例:

import redis             # pip3 install redis
# 創(chuàng)建redis連接對象
def init_redis():
  redis_config = {
    "host": "172.29.0.17",
    "port": 6379
  }
  global Redis_Conn
  Redis_Conn = redis.Redis(**redis_config)
  # Redis_Conn = redis.Redis(host='172.29.0.17', port=6379, db=1)  # 指定數據庫
  
# 插入值,Value為str類型為例
def insert_redis_key_value(key,value):  
  Redis_Conn.set("name","Zhu")
# 獲取值,Value為str類型為例
def get_redis_key_value(key):
  global Redis_Conn
  print("redis key value: %s" % Redis_Conn.get(key))

連接池的原理是, 通過預先創(chuàng)建多個連接, 當進行redis操作時, 直接獲取已經創(chuàng)建的連接進行操作, 而且操作完成后, 不會釋放, 用于后續(xù)的其他redis操作,這樣就達到了避免頻繁的redis連接創(chuàng)建和釋放的目的, 從而提高性能。

redis模塊采用ConnectionPool來管理對redis server的所有連接。

2、連接池連接示例:

import redis
pool = redis.ConnectionPool(host='172.29.0.17', port=6379,db=1) 
red = redis.Redis(connection_pool=pool) 
red.set('key1', 'value1') 
red.set('key2', 'value2')

二、操作mongoDB

1、mongoDB 是一個非關系型數據庫(NoSQL),介于關系數據庫和非關系數據庫之間的產品。擁有很多優(yōu)秀特性,例如高性能、高可用、支持豐富的查詢語句、無需預定義數據模型和水平可伸縮等。

2、mongoDB是非關系數據庫當中功能最豐富,最像關系數據庫的。它支持的數據結構非常松散,是類似json的bson格式,因此可以存儲比較復雜的數據類型。

3、mongoDB最大的特點是它支持的查詢語言非常強大,其語法有點類似于面向對象的查詢語言,幾乎可以實現(xiàn)類似關系數據庫單表查詢的絕大部分功能,而且還支持對數據建立索引。

4、mongoDB 的適用場景為:數據不是特別重要(例如通知,推送)、數據表結構變化較為頻繁、數據量特別大、數據的并發(fā)性特別高、數據結構比較特別(例如地圖的位置坐標),

這些情況下用 mongoDB , 其他情況就還是用MySQL ,這樣組合使用就可以達到最大的效率。

import pymongo            # pip3 install pymongo
# 創(chuàng)建mongo連接對象
def init_mongo():
  global Mongo_Conn
  Mongo_Conn = pymongo.MongoClient(host="172.29.0.14", port=27017)
  admin = Mongo_Conn.admin
  admin.authenticate('root', '')
# 數據操作  
def get_mongo_key_value(token_id):
  db = Mongo_Conn['device_center']             # 創(chuàng)建數據庫"device_center",命名為"db"
  col = db['token_info']                  # 創(chuàng)建集合"token_info",命名為"col"
  mydict = {"name": "Zhuyu", "alexa": "160", "sex": "male"}
  col.insert_one(mydict)                  # 插入一條數據
  mylist = [
  {"name": "ating", "alexa": "168", "sex": "male"},
  {"name": "Liang", "alexa": "165", "sex": "female"},
  {"name": "Libai", "alexa": "156", "sex": "female"}
  ]
  col.insert_one(mylist)                    # 插入一組數據
  query1 = col.find_one()                # 查詢一條數據
  query2 = col.find({},{"alexa": 1})           # 查詢指定字段的數據
  query3 = col.find()                  # 查詢集合中的所有數據
  query4 = col.find({"name": "ating"})          # 根據指定條件查詢
  myquery1 = { "alexa": "160" }
  newvalues1 = { "$set": { "alexa": "161" } }
  col.update_one(myquery1, newvalues1)           # 修改匹配到的第一條記錄
  myquery2 = { "name": { "$regex": "^L" } }
  newvalues2 = { "$set": { "alexa": "123" } }
  col.update_many(myquery2, newvalues2)          # 修改所有匹配到的記錄,將查找所有以 L 開頭的 name 字段,并將匹配到所有記錄的 alexa 字段修改為 123
  query5 = col.find().sort("alexa")           # sort() 方法第一個參數為要排序的字段,第二個字段指定排序規(guī)則,1 為升序,-1 為降序,默認為升序
  for x in query5 :
    print(x)
  # 結果
  {"name": "Libai", "alexa": "156", "sex": "female"}
  {"name": "Zhuyu", "alexa": "160", "sex": "male"}
  {"name": "Liang", "alexa": "165", "sex": "female"}
  {"name": "ating", "alexa": "168", "sex": "male"}
  query6 = col.find().sort("alexa",-1)          # 降序
  for x in query6:
    print(x)
  # 結果
  {"name": "ating", "alexa": "168", "sex": "male"}
  {"name": "Liang", "alexa": "165", "sex": "female"}
  {"name": "Zhuyu", "alexa": "160", "sex": "male"}
  {"name": "Libai", "alexa": "156", "sex": "female"}
  myquery3 = { "name": "Libai" }             # 刪除一條數據
  mycol.delete_one(myquery3)
  myquery4 = { "name": {"$regex": "^L"} }        # 刪除多個數據
  x1 = mycol.delete_many(myquery4)
  print(x1.deleted_count, "個文檔已刪除")        # 2個文檔已刪除
  x2 = mycol.delete_many({})               # 刪除集合中的所有數據
  print(x2.deleted_count, "個文檔已刪除")        # 4個文檔已刪除
# 斷開mongo連接  
def disconnect_mongo():
  Mongo_Conn.disconnect()

總結

以上所述是小編給大家介紹的Python操作redis和mongoDB的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!

相關文章

  • python爬蟲常見錯誤集合

    python爬蟲常見錯誤集合

    這篇文章主要介紹了python爬蟲常見錯誤,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • python操作MySQL 模擬簡單銀行轉賬操作

    python操作MySQL 模擬簡單銀行轉賬操作

    這篇文章主要介紹了python操作MySQL 模擬簡單銀行轉賬操作,需要的朋友可以參考下
    2017-09-09
  • python實現(xiàn)從文件中讀取數據并繪制成 x y 軸圖形的方法

    python實現(xiàn)從文件中讀取數據并繪制成 x y 軸圖形的方法

    今天小編就為大家分享一篇python實現(xiàn)從文件中讀取數據并繪制成 x y 軸圖形的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • Python 從一個文件中調用另一個文件的類方法

    Python 從一個文件中調用另一個文件的類方法

    今天小編就為大家分享一篇Python 從一個文件中調用另一個文件的類方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • python pandas寫入excel文件的方法示例

    python pandas寫入excel文件的方法示例

    這篇文章主要介紹了python pandas寫入excel文件的方法示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-06-06
  • 使用python實現(xiàn)自動化控制電腦版微信

    使用python實現(xiàn)自動化控制電腦版微信

    這篇文章主要為大家詳細介紹了如何通過Python去調用Windows API實現(xiàn)模擬人工操作的方式去實現(xiàn)控制微信電腦版,感興趣的小伙伴可以跟隨小編一起學習一下
    2023-10-10
  • python在windows下創(chuàng)建隱藏窗口子進程的方法

    python在windows下創(chuàng)建隱藏窗口子進程的方法

    這篇文章主要介紹了python在windows下創(chuàng)建隱藏窗口子進程的方法,涉及Python使用subprocess模塊操作進程的相關技巧,需要的朋友可以參考下
    2015-06-06
  • 如何利用python腳本自動部署k8s

    如何利用python腳本自動部署k8s

    這篇文章主要介紹了利用python腳本自動部署k8s的方法,本文通過腳本代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-08-08
  • 中秋快到了利用python畫個月亮和月餅

    中秋快到了利用python畫個月亮和月餅

    眼看中秋又快到了,今天小編就利用python畫出月亮和月餅,感興趣的小伙伴一定要收藏起來送給遠方的朋友呀
    2021-09-09
  • pandas數據類型之Series的具體使用

    pandas數據類型之Series的具體使用

    本文主要介紹了pandas數據類型之Series的具體使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-08-08

最新評論

上饶县| 鹤峰县| 芜湖市| 乌兰县| 定远县| 宁海县| 武汉市| 嵊泗县| 永兴县| 恭城| 浦东新区| 阳新县| 卓资县| 星座| 寿阳县| 定西市| 班玛县| 临城县| 高邑县| 左云县| 迁西县| 惠东县| 东兰县| 明溪县| 密山市| 桃园县| 平凉市| 古蔺县| 长汀县| 德令哈市| 闽侯县| 盖州市| 砚山县| 南召县| 兴城市| 邮箱| 锦屏县| 铜陵市| 班玛县| 房产| 威远县|