純Python開(kāi)發(fā)的nosql數(shù)據(jù)庫(kù)CodernityDB介紹和使用實(shí)例
看看這個(gè)logo,有些像python的小蛇吧 。這次介紹的數(shù)據(jù)庫(kù)codernityDB是純python開(kāi)發(fā)的。

先前用了下tinyDB這個(gè)本地?cái)?shù)據(jù)庫(kù),也在一個(gè)api服務(wù)中用了下,一開(kāi)始覺(jué)得速度有些不給力,結(jié)果一看實(shí)現(xiàn)的方式,真是太鳥(niǎo)了,居然就是json的存儲(chǔ),連個(gè)二進(jìn)制壓縮都沒(méi)有。 這里介紹的CodernityDB 也是純開(kāi)發(fā)的一個(gè)小數(shù)據(jù)庫(kù)。
CodernityDB是開(kāi)源的,純Python語(yǔ)言(沒(méi)有第三方依賴(lài)),快速,多平臺(tái)的NoSQL型數(shù)據(jù)庫(kù)。它有可選項(xiàng)支持HTTP服務(wù)版本(CodernityDB-HTTP),和Python客戶(hù)端庫(kù)(CodernityDB-PyClient),它目標(biāo)是100%兼容嵌入式的版本。
主要特點(diǎn)
1.Pyhon原生支持
2.多個(gè)索引
3.快(每秒可達(dá)50 000次insert操作)
4.內(nèi)嵌模式(默認(rèn))和服務(wù)器模式(CodernityDB-HTTP),加上客戶(hù)端庫(kù)(CodernityDB-PyClient),能夠100%兼容
5.輕松完成客戶(hù)的存儲(chǔ)
CodernityDB數(shù)據(jù)庫(kù)操作代碼實(shí)例:
Insert(simple)
from CodernityDB.database import Database
db = Database('/tmp/tut1')
db.create()
insertDict = {'x': 1}
print db.insert(insertDict)
Insert
from CodernityDB.database import Database
from CodernityDB.hash_index import HashIndex
class WithXIndex(HashIndex):
def __init__(self, *args, **kwargs):
kwargs['key_format'] = 'I'
super(WithXIndex, self).__init__(*args, **kwargs)
def make_key_value(self, data):
a_val = data.get("x")
if a_val is not None:
return a_val, None
return None
def make_key(self, key):
return key
db = Database('/tmp/tut2')
db.create()
x_ind = WithXIndex(db.path, 'x')
db.add_index(x_ind)
print db.insert({'x': 1})
Count
from CodernityDB.database import Database
db = Database('/tmp/tut1')
db.open()
print db.count(db.all, 'x')
Get
from CodernityDB.database import Database
db = Database('/tmp/tut2')
db.open()
print db.get('x', 1, with_doc=True)
Delete
from CodernityDB.database import Database
db = Database('/tmp/tut2')
db.open()
curr = db.get('x', 1, with_doc=True)
doc = curr['doc']
db.delete(doc)
Update
from CodernityDB.database import Database
db = Database('/tmp/tut2')
db.create()
curr = db.get('x', 1, with_doc=True)
doc = curr['doc']
doc['Updated'] = True
db.update(doc)
- JPA之使用JPQL語(yǔ)句進(jìn)行增刪改查
- mysql5.7.19 解壓版安裝教程詳解(附送純凈破解中文版SQLYog)
- 3步搞定純真IP數(shù)據(jù)導(dǎo)入到MySQL的方法詳解
- 用純CSS+DIV寫(xiě)的漂亮Flash幻燈片及SQL標(biāo)簽教程!
- SQL刪除語(yǔ)句DROP、TRUNCATE、 DELETE 的區(qū)別
- mybatis-plus配置控制臺(tái)打印完整帶參數(shù)SQL語(yǔ)句的實(shí)現(xiàn)
- 在IDEA中安裝MyBatis Log Plugin插件,執(zhí)行mybatis的sql語(yǔ)句(推薦)
- 基于JPQL實(shí)現(xiàn)純SQL語(yǔ)句方法詳解
相關(guān)文章
python游戲測(cè)試工具自動(dòng)化遍歷游戲中所有關(guān)卡
這篇文章主要為大家介紹了python游戲測(cè)試工具自動(dòng)化遍歷游戲中所有關(guān)卡示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06
使用Python編寫(xiě)爬蟲(chóng)的基本模塊及框架使用指南
這篇文章主要介紹了使用Python編寫(xiě)爬蟲(chóng)的基本模塊及框架使用指南,模塊介紹包括了urllib和urllib2以及re的使用例子框架則是Scrapy的簡(jiǎn)介,需要的朋友可以參考下2016-01-01
Python使用Pygame實(shí)現(xiàn)時(shí)鐘效果
這篇文章主要為大家詳細(xì)介紹了Python使用Pygame實(shí)現(xiàn)時(shí)鐘效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08
Python中如何實(shí)現(xiàn)真正的按位取反運(yùn)算
按位取反是位運(yùn)算符,而位運(yùn)算符是應(yīng)用在兩個(gè)數(shù)的運(yùn)算上,會(huì)對(duì)數(shù)字的二進(jìn)制所有位數(shù)進(jìn)行從低到高的運(yùn)算,下面這篇文章主要給大家介紹了關(guān)于Python中如何實(shí)現(xiàn)真正的按位取反運(yùn)算的相關(guān)資料,需要的朋友可以參考下2023-02-02
python 不以科學(xué)計(jì)數(shù)法輸出的方法
今天小編就為大家分享一篇python 不以科學(xué)計(jì)數(shù)法輸出的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-07-07
Python 編碼處理-str與Unicode的區(qū)別
本文主要介紹Python 編碼處理的問(wèn)題,這里整理了相關(guān)資料,并詳細(xì)說(shuō)明如何處理編碼問(wèn)題,有需要的小伙伴可以參考下2016-09-09

