国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

快速了解python leveldb

2020-01-04 16:09:25
字體:
來源:轉載
供稿:網友

本文主要是對leveldb進行一個簡單的介紹及使用Python語言對其進行操作的代碼示例,具體如下。

leveldb 是google實現的一種非常高效的key-value數據庫。key-value數據庫中,redis是比較知名且好用的,但它是一個內存數據庫,而leveldb只需要少量的內存,但速度依然很快,美中不足的是,沒有網絡服務封裝,這樣一來就只能單機使用,如果你實力足夠強,也可以自己封裝一個。

python/51695.html">python版本的leveldb安裝很簡單,pip install leveldb

接下來重點介紹使用方法。

一 、 讀寫

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

新建數據庫很方便,如果這個目錄已經存在就會直接打開,沒有的話就會新建。示例中給出了添加,刪除,和獲取的方法,注意,是沒有修改操作的。

二 、 遍歷

如何遍歷數據呢,也非常方便,你可以指定開始的key和結束的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 

三、 批量操作

如果我對數據庫有一大批操作,每一次都和數據庫進行交互,其實挺浪費性能的,因此像mongodb,redis都提供了批量操作的方法,leveldb也是如此。下面是一個清空數據庫的例子

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)并沒有真正的刪除數據,而是在db.Write(b)時執行所有的操作

四、 快照

創建快照非常簡單,美中不足的是,再次加載數據庫以后,沒有方法找到之前創建的快照,難道已關閉這些快照就都不見了,這這樣的快照還有什么意思呢,也許只有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') 

總結

以上就是本文關于快速了解python leveldb的全部內容,希望對大家有所幫助。感興趣的朋友可以繼續參閱本站其他相關專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!


注:相關教程知識閱讀請移步到python教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 凤山市| 如东县| 广西| 霍邱县| 乌恰县| 玉田县| 汝阳县| 富平县| 萨嘎县| 故城县| 手游| 财经| 蓝田县| 鄄城县| 左云县| 孝感市| 房山区| 高唐县| 体育| 永丰县| 隆昌县| 普兰店市| 阳西县| 焉耆| 手游| 正定县| 锦州市| 阿鲁科尔沁旗| 怀宁县| 白城市| 东光县| 达日县| 成都市| 舞阳县| 衡水市| 湖州市| 荔波县| 南溪县| 德钦县| 兰州市| 江口县|