Skynet

---------- ---------- 我的新 blog : liukaiyi.cublog.cn ---------- ----------

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  112 Posts :: 1 Stories :: 49 Comments :: 0 Trackbacks

当熟悉 hash db   python bsddb (db-key 转)
使用确实很方便,但是没有 想 关系数据库中的 select order by 查询 ,感觉比较郁闷! 上网 一顿 google ......

import bsddb
db 
= bsddb.btopen('/tmp/spam.db''c')
for i in range(10): db['%d'%i] = '%d'% (i*i)

db[
'3'# 9 
db.keys() # ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']

db.set_location(
'6'# 36 
db.previous() # 25 
db.next() # 36
db.next() # 47


这可以定位,并且 previous , next 什么的 (不过目前好像是针对 string 自然 排序!)
这里比较实用的 demo
import bsddb
db 
= bsddb.btopen('/tmp/spam2.db''c')
db[
"2009-08-14 22:00"]="gg"
db[
"2009-08-15 22:00"]="cc"
db[
"2009-07-15 00:00"]="tt"
db[
"2009-08-16 22:00"]="gg"

# 注意 这 统配 等价 正则 = 2009-08-15.*  
#
 开始 以为能使用 正则 ,但不能 。只能简单的 xxx.* 形式的
db.set_location('2009-08-15')   # ('2009-08-15 22:00', 'cc')
db.next() # ('2009-08-16 22:00', 'gg')

db.set_location(
'2009-08-15')   # ('2009-08-15 22:00', 'cc')
db.previous() #('2009-08-14 22:00', 'gg')











整理 www.blogjava.net/Good-Game
posted on 2009-08-20 10:52 刘凯毅 阅读(1966) 评论(5)  编辑  收藏 所属分类: databasepython

Feedback

# re: Berkeley DB python btree 2009-08-20 11:30 BoBo小说网
效率怎么样啊  回复  更多评论
  

# re: Berkeley DB python btree 2009-08-20 11:54 刘凯毅
效率 应该没的说。
mysql 也有相对 bdb 核心的数据类型
直到 oracle 收购这 Berkeley DB 后才不用的

在嵌入式中 bdb , sqlite 等就是 主流 数据库 了   回复  更多评论
  

# re: Berkeley DB python btree[未登录] 2009-08-20 22:17
路过又学习了  回复  更多评论
  

# re: Berkeley DB python btree 2009-08-21 17:45 戴尔电脑
很不错啊!  回复  更多评论
  

# re: Berkeley DB python btree 2009-08-25 08:51 找个美女做老婆
Java乐园学习网站: http://www.javaly.cn

有大量的学习文章和视频教程,以及一些项目源码

Java乐园学习群: 81107233  回复  更多评论
  


只有注册用户登录后才能发表评论。


网站导航: