1. 1、本文档共77页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Redis 3.0官方文档翻译计划(1) ——Redis介绍 Redis是一款开源的,基于BSD许可的,高级键值(key-value)缓存(cache)和存储(store)系统。由于Redis的键包括string,hash,list,set,sorted set,bitmap和hyperloglog,所以常常被称为数据结构服务器。你可以在这些类型上面运行原子操作,例如,追加字符串,增加哈希中的值,加入一个元素到列表,计算集合的交集、并集和差集,或者是从有序集合中获取最高排名的元素。 为了满足高性能,Redis采用内存(in-memory)数据集(dataset)。根据你的使用场景,你可以通过每隔一段时间转储数据集到磁盘,或者追加每条命令到日志来持久化。持久化也可以被禁用,如果你只是需要一个功能丰富,网络化的内存缓存。Redis还支持主从异步复制,非常快的非阻塞初次同步、网络断开时自动重连局部重同步。 其他特性包括: 事务 订阅/发布 Lua脚本 带TTL的键 LRU回收健 自动故障转移(failover) 你可以通过多种语言来使用Redis。 Redis是由ANSI C语言编写的,在无需额外依赖下,运行于大多数POSIX系统,如Linux、*BSD、OS X。Redis是在Linux和OS X两款操作系统下开发和充分测试的,我们推荐Linux为部署环境。Redis也可以运行在Solaris派生系统上,如SmartOS,但是支持有待加强。没有官方支持的Windows构建版本,但是微软开发和维护了一个64位Windows的版本。 Redis 3.0官方文档翻译计划(2) ——数据类型初探 字符串(Strings) 字符串是Redis最基本的数据类型。Redis字符串是二进制安全的,也就是说,一个Redis字符串可以包含任意类型的数据,例如一张JPEG图像,或者一个序列化的Ruby对象。 一个字符串最大为512M字节。 你可以使用Redis的字符串类型做很多有意思的事情,例如,你可以: 使用INCR命令族(INCR,DECR,INCRBY),将字符串作为原子计数器。 使用APPEND命令追加字符串。 使用GETRANGE和SETRANGE命令,使字符串作为随机访问向量(vectors)。 编码大量数据到很小的空间,或者使用GETBIT和SETBIT命令,创建一个基于Redis的布隆(Bloom)过滤器。 后续我们会详细介绍可用的字符串命令,也会详细介绍Redis数据类型的更多高级信息。 列表(Lists) Redis列表仅仅是按照插入顺序排序的字符串列表。可以添加一个元素到Redis列表的头部(左边)或者尾部(右边)。 LPUSH命令用于插入一个元素到列表的头部,RPUSH命令用于插入一个元素到列表的尾部。当这两个命令操作在一个不存在的键时,将会创建一个新的列表。同样,如果一个操作会清空列表,那么该键将会从键空间(key space)移除。这些是非常方便的语义,因为列表命令如果使用不存在的键作为参数,就会表现得像命令运行在一个空列表上一样。 一些列表操作的例子结果: Java代码 LPUSH mylist a # now the list is “a” LPUSH mylist b # now the list is “b”, ”a” RPUSH mylist c # now the list is “b”,”a”, ”c”(RPUSH was used this time) LPUSH mylist a # now the list is “a” LPUSH mylist b # now the list is “b”, ”a” RPUSH mylist c # now the list is “b”,”a”, ”c”(RPUSH was used this time) 列表的最大长度是223-1个元素(4294967295,超过40亿个元素)。 从时间复杂度的角度看,Redis列表主要的特性是支持以常量时间在列表的头和尾附近插入和删除元素,即使列表中已经插入了上百万的数据。访问列表两端的元素非常的快速,但是访问一个非常大的列表的中间却非常的慢,因为这是一个O(N)时间复杂度的操作。 你可以使用Redis的列表类型做很多有意思的事情,例如,你可以: 为社交网络时间轴(timeline)建模,使用LPUSH命令往用户时间轴插入元素,使用LRANGE命令获得最近事项。 使用LPUSH和LTRIM命令创建一个

文档评论(0)

dashewan + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档