欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

快速了解python leveldb

 更新時(shí)間:2018年01月18日 13:48:28   作者:kwsy2008  
這篇文章主要介紹了快速了解python leveldb,具有一定借鑒價(jià)值,需要的朋友可以參考下

本文主要是對(duì)leveldb進(jìn)行一個(gè)簡(jiǎn)單的介紹及使用Python語(yǔ)言對(duì)其進(jìn)行操作的代碼示例,具體如下。

leveldb 是google實(shí)現(xiàn)的一種非常高效的key-value數(shù)據(jù)庫(kù)。key-value數(shù)據(jù)庫(kù)中,redis是比較知名且好用的,但它是一個(gè)內(nèi)存數(shù)據(jù)庫(kù),而leveldb只需要少量的內(nèi)存,但速度依然很快,美中不足的是,沒(méi)有網(wǎng)絡(luò)服務(wù)封裝,這樣一來(lái)就只能單機(jī)使用,如果你實(shí)力足夠強(qiáng),也可以自己封裝一個(gè)。

python版本的leveldb安裝很簡(jiǎn)單,pip install leveldb

接下來(lái)重點(diǎn)介紹使用方法。

一 、 讀寫(xiě)

def single_operate(): 
 db = leveldb.LevelDB('./data') 
 db.Put('foo','東升') 
 print db.Get('foo') 
 db.Delete('foo') 
 print db.Get('foo') 

新建數(shù)據(jù)庫(kù)很方便,如果這個(gè)目錄已經(jīng)存在就會(huì)直接打開(kāi),沒(méi)有的話(huà)就會(huì)新建。示例中給出了添加,刪除,和獲取的方法,注意,是沒(méi)有修改操作的。

二 、 遍歷

如何遍歷數(shù)據(jù)呢,也非常方便,你可以指定開(kāi)始的key和結(jié)束的key,也可以指定順序,是否帶value

def test_iter(): 
 db = leveldb.LevelDB('./data') 
 for i in xrange(10): 
  db.Put(str(i), 'string_%s' % i) 
 print list(db.RangeIter(key_from = '2', key_to = '5')) 
 print list(db.RangeIter(key_from = '2', key_to = '5',reverse=True)) 
def iter_key_values(): 
 db = leveldb.LevelDB('./data') 
 for i in xrange(10): 
  db.Put(str(i), 'string_%s' % i) 
 keys = list(db.RangeIter(include_value = False)) 
 print keys 
 
 keys_values = list(db.RangeIter()) 
 print keys_values 

三、 批量操作

如果我對(duì)數(shù)據(jù)庫(kù)有一大批操作,每一次都和數(shù)據(jù)庫(kù)進(jìn)行交互,其實(shí)挺浪費(fèi)性能的,因此像mongodb,redis都提供了批量操作的方法,leveldb也是如此。下面是一個(gè)清空數(shù)據(jù)庫(kù)的例子

def clear_db(): 
 db = leveldb.LevelDB('./data') 
 b = leveldb.WriteBatch() 
 for k in db.RangeIter(include_value = False, reverse = True): 
  b.Delete(k) 
 db.Write(b) 

b.Delete(k)并沒(méi)有真正的刪除數(shù)據(jù),而是在db.Write(b)時(shí)執(zhí)行所有的操作

四、 快照

創(chuàng)建快照非常簡(jiǎn)單,美中不足的是,再次加載數(shù)據(jù)庫(kù)以后,沒(méi)有方法找到之前創(chuàng)建的快照,難道已關(guān)閉這些快照就都不見(jiàn)了,這這樣的快照還有什么意思呢,也許只有python版本的快照是這樣的吧

def test_snapshot(): 
 db = leveldb.LevelDB('./data') 
 db.Put('foo','s1') 
 s1 = db.CreateSnapshot() 
 db.Put('foo','s2') 
 s2 = db.CreateSnapshot() 
 
 print db.Get('foo') 
 print s1.Get('foo') 
 print s2.Get('foo') 

總結(jié)

以上就是本文關(guān)于快速了解python leveldb的全部?jī)?nèi)容,希望對(duì)大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專(zhuān)題,如有不足之處,歡迎留言指出。感謝朋友們對(duì)本站的支持!

相關(guān)文章

  • 使用Python實(shí)現(xiàn)Excel文件轉(zhuǎn)換為SVG格式

    使用Python實(shí)現(xiàn)Excel文件轉(zhuǎn)換為SVG格式

    SVG(Scalable Vector Graphics)是一種基于XML的矢量圖像格式,這種格式在Web開(kāi)發(fā)和其他圖形應(yīng)用中非常流行,提供了一種高效的方式來(lái)呈現(xiàn)復(fù)雜的矢量圖形,本文將介紹如何使用Python轉(zhuǎn)換Excel文件為SVG格式,需要的朋友可以參考下
    2024-07-07
  • Python 爬蟲(chóng)的工具列表大全

    Python 爬蟲(chóng)的工具列表大全

    即然提到了爬蟲(chóng),就從網(wǎng)上理了一份python爬蟲(chóng)相關(guān)的包。包含與網(wǎng)頁(yè)抓取和數(shù)據(jù)處理的Python庫(kù),需要的朋友可以參考下
    2016-01-01
  • python實(shí)現(xiàn)簡(jiǎn)單的計(jì)算器功能

    python實(shí)現(xiàn)簡(jiǎn)單的計(jì)算器功能

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)簡(jiǎn)單的計(jì)算器功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • python實(shí)現(xiàn)雙色球隨機(jī)選號(hào)

    python實(shí)現(xiàn)雙色球隨機(jī)選號(hào)

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)雙色球隨機(jī)選號(hào),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-01-01
  • 一文教會(huì)你用Python繪制動(dòng)態(tài)可視化圖表

    一文教會(huì)你用Python繪制動(dòng)態(tài)可視化圖表

    數(shù)據(jù)可視化是數(shù)據(jù)科學(xué)中關(guān)鍵的一步,下面這篇文章主要給大家介紹了關(guān)于如何利用Python繪制動(dòng)態(tài)可視化圖表的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-05-05
  • Python實(shí)現(xiàn)自動(dòng)計(jì)算特定格式的時(shí)間差

    Python實(shí)現(xiàn)自動(dòng)計(jì)算特定格式的時(shí)間差

    這篇文章主要介紹了利用Python實(shí)現(xiàn)在輸入一個(gè)特定格式的時(shí)間后,自動(dòng)獲取前進(jìn)或者后退多少小時(shí)之后的時(shí)間。感興趣的朋友可以了解一下
    2021-12-12
  • 詳解Django中CBV(Class Base Views)模型源碼分析

    詳解Django中CBV(Class Base Views)模型源碼分析

    這篇文章主要介紹了詳解Django中CBV(Class Base Views)模型源碼分析,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-02-02
  • PyCharm設(shè)置中文(漢化與解除漢化)的方法

    PyCharm設(shè)置中文(漢化與解除漢化)的方法

    這篇文章介紹了PyCharm設(shè)置中文(漢化與解除漢化)的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • python將四元數(shù)變換為旋轉(zhuǎn)矩陣的實(shí)例

    python將四元數(shù)變換為旋轉(zhuǎn)矩陣的實(shí)例

    今天小編就為大家分享一篇python將四元數(shù)變換為旋轉(zhuǎn)矩陣的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-12-12
  • Python2.7編程中SQLite3基本操作方法示例

    Python2.7編程中SQLite3基本操作方法示例

    這篇文章主要介紹了Python2.7編程中SQLite3基本操作方法,涉及Python2.7操作sqlite3數(shù)據(jù)庫(kù)的增刪改查及防注入等相關(guān)技巧,需要的朋友可以參考下
    2017-08-08

最新評(píng)論