快速了解python leveldb

本文主要是对leveldb进行一个简单的介绍及使用Python语言对其进行操作的代码示例,具体如下。

leveldb 是google实现的一种非常高效的key-value数据库。key-value数据库中,redis是比较知名且好用的,但它是一个内存数据库,而leveldb只需要少量的内存,但速度依然很快,美中不足的是,没有网络服务封装,这样一来就只能单机使用,如果你实力足够强,也可以自己封装一个。

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操作mysql数据库实现增删查改功能的方法
  • Python实现备份MySQL数据库的方法示例
  • Python实现将MySQL数据库表中的数据导出生成csv格式文件的方法
  • 使用python和Django完成博客数据库的迁移方法
  • Python操作MongoDB数据库的方法示例
  • Python实现连接postgresql数据库的方法分析
  • Python实现生成随机数据插入mysql数据库的方法
  • python 3.6 +pyMysql 操作mysql数据库(实例讲解)
(0)

相关推荐

  • Python实现将MySQL数据库表中的数据导出生成csv格式文件的方法

    本文实例讲述了Python实现将MySQL数据库表中的数据导出生成csv格式文件的方法.分享给大家供大家参考,具体如下: #!/usr/bin/env python # -*- coding:utf-8 -*- """ Purpose: 生成日汇总对账文件 Created: 2015/4/27 Modified:2015/5/1 @author: guoyJoe """ #导入模块 import MySQLdb import time impor

  • python 3.6 +pyMysql 操作mysql数据库(实例讲解)

    版本信息:python:3.6 mysql:5.7 pyMysql:0.7.11 ################################################################# #author: 陈月白 #_blogs: http://www.cnblogs.com/chenyuebai/ ################################################################# # -*- coding: utf-8

  • Python操作mysql数据库实现增删查改功能的方法

    本文实例讲述了Python操作mysql数据库实现增删查改功能的方法.分享给大家供大家参考,具体如下: #coding=utf-8 import MySQLdb class Mysql_Oper: def __init__(self,host,user,passwd,db): self.host=host self.user=user self.passwd=passwd self.database=db def db_connecet(self): try: #连接 conn=MySQLdb.

  • Python操作MongoDB数据库的方法示例

    本文实例讲述了Python操作MongoDB数据库的方法.分享给大家供大家参考,具体如下: >>> import pymongo >>> client=pymongo.MongoClient ('localhost',27017) >>> db=client.students >>> db.collection_names() ['students'] >>> students=db.students >>

  • 使用python和Django完成博客数据库的迁移方法

    上一讲完成了基本博客的配置和项目工程的生成.这次开始将博客一些基本的操作主要是数据库方面学习. 1.设计博客数据库表结构 博客最主要的功能就是展示我们写的文章,它需要从某个地方获取博客文章数据才能把文章展示出来,通常来说这个地方就是数据库.我们把写好的文章永久地保存在数据库里,当用户访问我们的博客时,Django 就去数据库里把这些数据取出来展现给用户. 博客的文章应该含有标题.正文.作者.发表时间等数据.一个更加现代化的博客文章还希望它有分类.标签.评论等.为了更好地存储这些数据,我们需要合理

  • Python实现连接postgresql数据库的方法分析

    本文实例讲述了Python实现连接postgresql数据库的方法.分享给大家供大家参考,具体如下: python可以通过第三方模块连接postgresql. 比较有名的有psycopg2和python3-postgresql (一)psycopg2 ubuntu下安装 sudo apt-get install python3-psycopg2 创建一个test.py文件 import psycopg2 # 数据库连接参数 conn = psycopg2.connect(database="te

  • Python实现生成随机数据插入mysql数据库的方法

    本文实例讲述了Python实现生成随机数据插入mysql数据库的方法.分享给大家供大家参考,具体如下: 运行结果: 实现代码: import random as r import pymysql first=('张','王','李','赵','金','艾','单','龚','钱','周','吴','郑','孔','曺','严','华','吕','徐','何') middle=('芳','军','建','明','辉','芬','红','丽','功') last=('明','芳','','民','敏

  • Python实现备份MySQL数据库的方法示例

    本文实例讲述了Python实现备份MySQL数据库的方法.分享给大家供大家参考,具体如下: #!/usr/bin/env python # -*- coding:utf-8 -*- #导入模块 import MySQLdb import time import datetime import os """ Purpose: 备份数据库 Created: 2015/5/12 Modified:2015/5/12 @author: guoyJoe ""&quo

  • 快速了解python leveldb

    本文主要是对leveldb进行一个简单的介绍及使用Python语言对其进行操作的代码示例,具体如下. leveldb 是google实现的一种非常高效的key-value数据库.key-value数据库中,redis是比较知名且好用的,但它是一个内存数据库,而leveldb只需要少量的内存,但速度依然很快,美中不足的是,没有网络服务封装,这样一来就只能单机使用,如果你实力足够强,也可以自己封装一个. python版本的leveldb安装很简单,pip install leveldb 接下来重点介

  • 新手如何快速入门Python(菜鸟必看篇)

    学习任何一门语言都是从入门(1年左右),通过不间断练习达到熟练水准(3到5年),少数人最终能精通语言,成为执牛耳者,他们是金字塔的最顶层.虽然万事开头难,但好的开始是成功的一半,今天这篇文章就来谈谈如何开始入门Python.只要方向对了,就不怕路远. 设定目标 当你决定入门 Python 时,需要一个清晰且短期内可实现的目标,比如通过学习找一份初级程序员工作,目标明确后,你需要了解企业对初级程序员有哪些技能要求,下面是我从拉勾网找的一个初级 Python 工程师的任职要求: 1.熟悉 Pytho

  • 一篇文章快速了解Python的GIL

    前言:博主在刚接触Python的时候时常听到GIL这个词,并且发现这个词经常和Python无法高效的实现多线程划上等号.本着不光要知其然,还要知其所以然的研究态度,博主搜集了各方面的资料,花了一周内几个小时的闲暇时间深入理解了下GIL,并归纳成此文,也希望读者能通过次本文更好且客观的理解GIL. GIL是什么 首先需要明确的一点是GIL并不是Python的特性,它是在实现Python解析器(CPython)时所引入的一个概念.就好比C++是一套语言(语法)标准,但是可以用不同的编译器来编译成可执

  • 快速了解Python相对导入

    1.绝对导入和相对导入 绝对导入:按照sys.path顺序搜索,先主目录(sys.path中第一项''),然后PYTHONPATH环境变量.标准库路径.pth指定路径等. 相对导入:在模块所在同一个包内搜索,注意该包目录与主目录的区别. 例1:有以下目录 app/ __init__.py mod.py string.py mod.py内容:import string 当在app/目录下执行Python mod.py时为绝对导入,当在app上层目录执行python -m app.mod时为相对导入

  • 快速了解Python开发中的cookie及简单代码示例

    cookie :是用户保存在用户浏览器端的一对键值对,是为了解决http的无状态连接.服务端是可以把 cookie写到用户浏览器上,用户每次发请求会携带cookie. 存放位置: 每次发请求cookie是放在请求头里面的. 应用场景: ·登陆用户和密码的记住密码 ·显示每页显示的数据,以后都是按照设定的数目显示 ·投票机制 案例用户登录 创建用户登录的url url(r'^login/', views.login), 创建登录页面 代码为: <!DOCTYPE html> <html l

  • 快速入门python学习笔记

    本篇不是教给大家如何去学习python,有需要详细深入学习的朋友可以参阅:Python基础语言学习笔记总结(精华)本文通过一周快速学习python入门知识总计了学习笔记和心得,分享给大家. ##一:语法元素 ###1.注释,变量,空格的使用 注释 单行注释以#开头,多行注释以''开头和结尾 变量 变量前面不需要声明数据类型,但是必须赋值 变量命名可以使用大小写字母,数字和下划线的组合,但是首字母只能是大小写字母或者下划线,不能使用空格 中文等非字母符号也可以作为名字 空格的使用 表示缩进关系的空

  • 快速了解Python中的装饰器

    需要理解的一些概念 要理解Python中的装饰器,我觉得还是应该从最基本的概念开始: 装饰器模式:所谓的装饰器模式,可以简单地理解为"在不改变原有内部实现的情况下,为函数或者类添加某种特性".这样我们就可以将一些与业务无关.具有通用性的代码抽象出来,作为装饰器附加到需要这些代码的函数或者类之上.用面向切面编程的思想解释就是"装饰器应该是一个切面". 函数是一等公民:意思就是函数可以被当成普通变量一样使用.在Python中,可以把函数赋值给变量,可以将函数作为其它函数

  • 快速查询Python文档方法分享

    Pydoc本地HTML形式查看 我们在编写Python代码时,常常会去查询某些模块及函数的使用,会选择dir()及help()函数.或查看CHM格式的Python帮助文档.或查看Python对应文件的源码.或网上搜索等方式. 这边提供一个本地快速查询Python文档的方式:将pydoc文档以本地HTML形式来查看:不论是Python内建模块,还是你本机已下载的三方模块,都能查看得到,且能定位到你本机的文件地址. 先来看下HTML页面的显示,首页如下,可使用浏览器CTRL+F搜索当前页面,快速定位

  • 怎么快速自学python

    本文跟大家谈谈为什么要学python以及如何学好python. 一.作为初学者,应该如何学python? 很多人对python缩进试的简洁表达不以为然.那些都是已混迹于C和JAVA的老鸟已经习惯了花括号.对于初学者,python语言是最好写,最好读的. 二.追求生产力,应该学python python是全能语言,社区庞大,有太多的库和框架.你只需要找到合适的工具来实现想法,省去了造轮子的精力. coder可以写尽可能少的代码来实现同等的功能."人生苦短,我用python"是至理名言.

  • 快速了解Python开发环境Spyder

    Spyder简介 Spyder (前身是 Pydee) 是一个强大的交互式 Python 语言开发环境,提供高级的代码编辑.交互测试.调试等特性,支持包括 Windows.Linux 和 OS X 系统. ● 菜单栏(Menu bar):显示可用于操纵Spyder各项功能的不同选项. ● 工具栏(Tools bar):通过单击图标可快速执行Spyder中最常用的操作,将鼠标悬停在某个图标上可以获取相应功能说明. ● 路径窗口(Python path):显示文件目前所处路径,通过其下拉菜单和后面的

随机推荐