- 浏览: 320546 次
- 性别:
- 来自: 广东-清远
最新评论
-
107x:
不错,可以自己写一个 谢谢!foreach只调用,不返回结 ...
Python中的foreach -
lot1:
part 2? part 3?
Clojure 快速入门指南:1/3 -
superlittlefish:
希望楼主完成剩余工作, 写的太好了.
Clojure 快速入门指南:1/3 -
duolaimifa:
嵌套好像会造成大量数据冗余吧?
MongoDB数据库关系表示和设计:(1)嵌套文档和引用链接 -
eimsteim:
请教一下:如果使用嵌套方式,如果我在被引用的Collectio ...
MongoDB数据库关系表示和设计:(1)嵌套文档和引用链接
文章列表
用Redis的朋友们应该会发现,Redis的很多客户端都只是Redis命令的一个简单包装。
举个例子,在Redis的Python客户端redis-py中,设置一个String键的方法如下:
>>> from redis import Redis
>>> r = Redis
>>> r.set('key_name', 'value')
而要取得一个列表的所有元素,则要使用lrange命令:
>>> r.lrange('list', 0, -1)
这种操作方式有几个问题 ...
Redis命令参考中文版,翻译自Redis Command Reference。
所有命令已经翻译完毕!
阅读地址: http://redis.readthedocs.org/
欢迎反馈。
update 2011.10.23
本文档现在已经支持 Redis 2.4 版本了,enjoy!
update 2011.12.17
原本剩下的四个部分也已经译完,全文翻译完毕!
本文介绍从0开始,在Linux系统下,搭建一个Android开发环境的方法。
如果你是《Learning Android》这本书的读者,你也可以参考这篇文章,因为这篇文章是以书中的安装方法为基础而写的。(如果你不是也没有关系,反正步骤都是一样的 :))
所谓Android的开发环境,主要是以下两个组件,Android Software Developer Kit(Android软件开发工具包)和Eclipse(编辑器,提供很多方便功能)两大块,下面分别介绍他们的安装方法。
安装Eclipse
要安装Eclipse,首先要安装Java Developer Kit(J ...
刚才用100kb的小文本文件,用1000次循环,在我的本本上,对redis(via redis-py),mongodb(via py-mongo)和ZODB(Zope的数据库,OODB,直接使用key-value模式,没有依附其他数据结构)进行了小规模写入和读取测试。
发现一些结果,有些有点意外 ...
注意:此文档已经过期,请移步到 http://huangz.iteye.com/blog/1123512 查看最新翻译。
SADD key member
将member元素加入到集合key当中。
如果member元素已经是该集合的成员,那SADD命令不执行任何操作。
假如key不存在,则创建一个只包含member元素作成员的集合。
当key不是集合类型时,返回一个错误。
时间复杂度:
O(1)
返回值:
如果添加元素成功,返回1。
如果元素已经是集合的成员,返回0。
redis> SADD bbs "v2e ...
Queue (队列),俗称FIFO结构,主要操作有两个,enqueue(入队)和dequeue(出队),数组实现还有一个succ(回绕)操作。
图里只画了链表结构的enqueue和dequeue,还有线性结构的succ。
代码只做了线性结构的,其他自己补完吧。
:)
#! /usr/bin/env python3
# coding:utf-8
class QueueException(Exception): pass
class QueueOverFlow(QueueException): pass
class QueueUnderFl ...
Stack (栈)
操作限制在push和pop(最多还有top)的linear list(线性表)。
暂时只有链表实现,数组实现也不难,自己写写看吧~
#! /usr/bin/env python3
# coding:utf-8
class StackError(Exception): pass
class StackOverFlow(StackError): pass
class StackUnderFlow(StackError): pass
class Node:
def __init__(self, data, ...
跟朋友逛公园,归途路上,我说起最近为数据库技术选型的烦恼。我:“现在光是数据库都有十多种,真TM难以抉择阿。”友:“怎么会有那么多?”我:”写软件的人喜欢重复造轮子。“友:“那选一个最好的阿。“我:”烦恼的就是没有最好的。比如其中一个,速度快,但是功能稍弱;另一个则是功能强,但是速度没有前一个快。“友:“那真是挺累人的,有其他办法不?“我:“唯有自己写一个了,还得保证它比现有的工具都好才行——而且这事还不算完。“友:“咋的?“我:”因为等我造好这个工具之后,肯定有人会跳出来,说我的软件虽然满足了要求A和要求B,但是没有满足要求C,而这个人恰好需要满足要求A、B、C的工具,于是。。。“友:”?“我 ...
single linked list(单链表)
主要的操作是iter(遍历)、insert(插入)、find(查找)和delete(删除)。
以上操作的时间复杂度都是O(N)。
#! /usr/bin/env python3
# coding:utf-8
class SingleLinkedListError(Exception): pass
class SingleLinkedListOperationError(SingleLinkedListError): pass
class Node:
def __init__(sel ...
TAoCP第一卷,2.2.2 和 2.2.3 节的内容。
图示是链接/顺序储存在内存中的表现。
虽然比计划慢了一些,但redis commands reference的工作仍在进行中。
redis命令参考的翻译原本只是作为博文发表,但最近我受到启发,也打算将译文通过RST(SPHNIX)格式或者PDF格式,作为一个单独的文件发布到其他地方。
因为原本作为博文发表,所以没有留底稿,所以在格式转换的过程中遇到了不少麻烦,于是我干脆就重审一遍翻译和代码,将各个部分分开,并分别更新博文版本和RST版本,时间耗费了一些,但是质量比第一次翻译应该是有所提高。
翻译的工作量并不算太大,但我本人还有其他工作在忙,所以就得一点一点做,打算是先把已经翻译好的几个重审并转换到RST,之后我就 ...
注意:此文档已经过期,请移步到 http://huangz.iteye.com/blog/1123512 查看最新翻译。
HASH部分
HDEL key field 删除key储存的哈希表(hash)中的指定域(field)。 复杂度: O(1) 返回值: 若域存在并被成功删除,返回1。 若key不存在或域不存在,返回0。
redis> HSET hash_name jack "Jack Sparrow"
(integer) 1
r ...
注意:此文档已经过期,请移步到 http://huangz.iteye.com/blog/1123512 查看最新翻译。
String部分
APPEND key value
如果key已经存在并且是一个字符串,APPEND命令将value追加到key原来的值之后。
如果key不存在,APPEND就简单地将指定key设为value,就像SET key value一样。
复杂度:
O(1)
平摊复杂度O(1)是建立于要追加(appended)的value不大(small)的情况下,不管原字符串有多大。因为Re ...
注意:此文档已经过期,请移步到 http://huangz.iteye.com/blog/1123512 查看最新翻译。
BLPOP key [key ...] timeout
BLPOP是一个阻塞列表的弹出原语。
它是LPOP的阻塞版本,当给定列表内没有任何元素可供弹出的时候,连接将被BLPOP命令阻塞。
当给定多个key参数时,按传入key的先后检查列表,弹出第一个非空列表的头部元素。
复杂度:
O(1)
返回值:
假如在指定时间内没有任何元素被弹出,则返回一个n ...
为了用APUE的源码折腾了一下,网上很多方法都不能用,或者有小问题,特此记录。
注意,不同环境的编译提示有所不同,如果你的环境和我的相似,那么应该没问题。
环境
Linux mypad 2.6.38-ARCH #1 SMP PREEMPT Tue May 3 06:04:40 UTC 2011 i686 Intel(R) Core(TM)2 Duo CPU T6570 @ 2.10GHz GenuineIntel GNU/Linux
确保你已经安装了gcc和gawk。
步骤
1.到www.apuebook.com下载源码
2 ...