The Little Redis Book in Chinese

The Little Redis Book in Chinese

閱讀本文約花費: 14 (分鐘) Wiki 数据库 Redis The Little Redis Book 中文版 基础知识 是什么使Redis显得这么特别?Redis具体能解决什么类型的问题?要实际应用Redis,开发者必须储备什么知识?在我们能回答这么一些问题之前,我们需要明白Redis到底是什么。 Redis通常被人们认为是一种持久化的存储器关键字-值型存储(in-memory persistent key-value store)。我认为这种对Redis的描述并不太准确。Redis的确是将所有的数据存放于存储器(更多是是按位存储),而且也确实通过将数据写入磁盘来实现持久化,但是Redis的实际意义比单纯的关键字-值型存储要来得深远。纠正脑海里的这种误解观点非常关键,否则你对于Redis之道以及其应用的洞察力就会变得越发狭义。 事实是,Redis引入了5种不同的数据结构,只有一个是典型的关键字-值型结构。理解Redis的关键就在于搞清楚这5种数据结构,其工作的原理都是如何,有什么关联方法以及你能怎样应用这些数据结构去构建模型。首先,让我们来弄明白这些数据结构的实际意义。 应用上面提及的数据结构概念到我们熟悉的关系型数据库里,我们可以认为其引入了一个单独的数据结构——表格。表格既复杂又灵活,基于表格的存储和管理,没有多少东西是你不能进行建模的。然而,这种通用性并不是没有缺点。具…

Read More Read More

MongoDB PDF EBook

MongoDB PDF EBook

閱讀本文約花費: 1 (分鐘) 好书要分享《深入学习MongoDB》PDF版 本书分两部分,分别来自O’Reilly的《MongoDB扩展技术》与《MongoDB开发技巧50例》两书。 前一部分“MongoDB扩展技术”指导大家创建一个不断增长以满足应用程序需求的MongoDB集群,内容简明扼要,指导用户设置和使用集群存储大量数据并高效访问数据。此外,读者还可了解如何让应用程序兼容分布式数据库系统。 具体的主题有: 通过分片设置MongoDB集群; 在集群中查询和更新数据; 操作、监控和备份集群; 从程序设计角度,考虑如何应对分片、配置服务器或者mongos进程停止运行的情况。 遵照其中建议,你很快就可通过MongoDB构建和运行一个高效的、可预测的分布式系统。 目录 MongoDB 扩展技术 第1章 欢迎来到分布式计算的世界 第2章 理解分片 2.1 分割数据 2.1.1 分配数据 2.1.2 如何创建块 2.2 平衡 2.3 mongos 2.4 配置服务器 2.5 集群的构造 第3章 建立集群 3.1 选择片键 3.1.1 小基数片键 3.1.2 升序片键 3.1.3 随机片键

The Swift Programming Language in Chinese

The Swift Programming Language in Chinese

閱讀本文約花費: 1 (分鐘) Wiki 移动开发 iOS The Swift Programming Language 中文版 2016.9.23: 已经更新到 Swift 3.0。 3.0 更新说明 Swift 3.0 是自 Swift 开源以来第一个大的版本更新。从语言角度不兼容之前的 Swift 2.2 和 Swift 2.3 版本。Swift 3.0 的更新说明,大家可以查看官方blog的说明,也可以关注 SwiftGG 最新的文章。学习官方文档,是掌握语言特性点的最佳途径,感谢翻译的小伙伴们为 Swift 社区所做贡献! 3.0 译者记录 相关issue Functions: crayygy Control Flow: Realank Closures: LanfordCai Protocols: chenmingbiao The Basics:chenmingbiao Advanced Operators: mmoaay Language Reference: Attributes: WhoJave Statements: chenmingjia Declarations: chenmingjia Expressions: chenmingjia Types: lettleprince Generic Parameters and Arguments: chenmin…

Read More Read More

Spring Data Redis简介以及项目Demo,RedisTemplate和 Serializer详解

Spring Data Redis简介以及项目Demo,RedisTemplate和 Serializer详解

閱讀本文約花費: 13 (分鐘) 一、概念简介: Redis:   Redis是一款开源的Key-Value数据库,运行在内存中,由ANSI C编写,详细的信息在Redis官网上面有,因为我自己通过google等各种渠道去学习Redis,走了不少弯路,所以总结一条我认为不错的学习路径给大家:   1.《The Little Redis Book》 是一本开源PDF,只有29页的英文文档,看完后对Redis的基本概念应该差不多熟悉了,剩下的可以去Redis官网熟悉相关的命令。   2.《Redis设计与实现》 如果想继续深入,推荐这本书,现在已经出到第二版了,有纸质版书籍可以购买。上面详细介绍了Redis的一些设计理念,并且给出了一些内部实现方式,和数据结构的C语言定义,有一些基本C语言基础,就能看明白。   3.Redis 2.6源代码: 《Redis设计与实现》的作者发布在Github上的一个开源项目,有作者详细的注释。 https://github.com/huangz1990/annotated_redis_source Jedis:   Jedis是Redis官方推出的一款面向Java的客户端,提供了很多接口供Java语言调用。可以在Redis官网下载,当然还有一些开源爱好者提供的客户端,如Jredis、SRP等等,推荐使用Jedis。 Spring Data Redis …

Read More Read More

车轮上的瓦尔登湖

车轮上的瓦尔登湖

閱讀本文約花費: 8 (分鐘) 用了三天时间读完《车轮上的瓦尔登湖》(Walden on Wheels),畅快,尽兴。也许你还停留或流连于19世纪美国作家亨利• 戴维• 梭罗的名作《瓦尔登湖》优美沉静的篇章中,而时间弹指一晃,如今已是信息流奔涌的21世纪。 这本《车轮上的瓦尔登湖》由当代美国80后作家肯• 伊格纳斯所写。通过离群索居的“车居”试验,试图探索一种低成本消费生活模式,由此卸掉背负一身的沉重债务,寻找一方通往自由之路的精神世界,借此,主人公向他的精神导师梭罗深深致敬。 读罢此书,你会惊异于当代美国与中国草根青年生活现状竟存在如此的相似:毕业即失业,身负房子、车子、金钱和工作的重压,被卷入现实的漩涡无法喘气,汲汲以求更好的职位、收入,更多的财富、名利,获得更大的所谓“成功”。曾经在心中描绘的美好理想国图景,在疲惫的现实面前渐行渐远,模糊粉碎。 谁的青春不曾迷惘。 当如今中国的青年大众在理想与现实的困境之中显出软弱浮躁,逃避抱怨,甚至不得不啃老,大洋彼岸的美国青年已从18岁开始即走向独立——如果继续攻读本科、硕博研究生,必须一切依靠自己,自食其力。高中毕业后,主人公肯• 伊格纳斯离开了父母,通过向美国大学生贷款公司“沙利美”贷款读完纽约州立大学水牛城分校。与美国其他普通大学生一样,2006年一毕业,他就背上32000美元的高额负债。 四处求职碰壁。当他在超市做着日复一日机械乏…

Read More Read More

车大棒浅谈for循环+canvas实现黑客帝国矩形阵

车大棒浅谈for循环+canvas实现黑客帝国矩形阵

閱讀本文約花費: 8 (分鐘) 来自:http://www.cnblogs.com/chedabang/p/6291504.html 背景: 一日在网上闲逛的之时,突然看到一个利用JQ插件实现canvas实现的电影黑客帝国的小Demo。觉得创意不错,就下载下来研究一下。 网上浏览jQuery的写法 $(document).ready(function() { var s = window.screen; var width = q.width = s.width; var height = q.height; var yPositions = Array(300).join(0).split(”); var ctx = q.getContext(‘2d’); var draw = function() { ctx.fillStyle = ‘rgba(0,0,0,.05)’; ctx.fillRect(0, 0, width, height); ctx.fillStyle = ‘red’; ctx.font = ’10pt Georgia’; yPositions.map(function(y, index) { text = String.fromCharCode(1e2 + Math.random() * 33); x = (index * 10) + 10; q.getCon…

Read More Read More

Redis-SCAN-功能

Redis-SCAN-功能

閱讀本文約花費: 2 (分鐘) 主要参考这两篇: http://blog.csdn.net/u011510825/article/details/51859656 http://redis.io/commands/scan 实验如下: $ redis-cli -h [host] -p 8379 > smembers myset 1) “one” 2) “two” > sscan myset o* (error) ERR invalid cursor > sscan myset 0 match o* 1) “0” 2) 1) “one” > sscan myset 0 match * 1) “0” 2) 1) “one” 2) “two” > sscan myset 0 match * count 1 1) “2” 2) 1) “one” > sscan myset1 0 match “{‘i’: ‘[1-9][0-9][0-9]*’}” 1) “0” 2) 1) “{‘i’: ‘990’, ‘i2’: ‘991’}” 上面有几点需要解释一下。 1. 获取set的命令需要使用 smember。更多的命令列表参考: http://www.runoob.com/redis/redis-sets.html Redis 集合命令 下表列出了 Redis 集…

Read More Read More

redis的scan操作

redis的scan操作

閱讀本文約花費: 2 (分鐘) redis系列 redis的发布订阅功能 redis消息队列 redis的pipeline redis的scan操作 序 在redis的db存在大量key或者db里头的某个set、zset、hash里头的元素非常多的话,用普通的get all操作很可能导致redis因为这个操作阻塞了,导致不能响应其他操作,特别是在高并发、海量数据的背景下,这个问题显得尤其严重。那么能不能像数据库那样有个分页的功能呢,答案就是scan操作。本文主要展示怎么在redis-cli以及SpringDataRedis中的使用。 scan语法 scan之后返回两部分,第一部分是下次scan的参数,第二部分就是scan出来的项 作用对象(db、set、zset、hash) db(key) 127.0.0.1:6379> scan 0 1)”120″ 2) 1)”articleMap:63″ 2)”articleMap:37″ 3)”counter:__rand_int__” 4)”articleMap:60″ 5)”tagSet:tag5″ 6)”articleMap:80″ 7)”messageCache~keys” 8)”mymap” 9)”articleMap:46″ 10)”articleMap:55″ 127.0.0.1:6379> scan 120 1)”…

Read More Read More

JQuery MMGrid Introduction

JQuery MMGrid Introduction

閱讀本文約花費: 1 (分鐘) http://www.jq22.com/demo/mmGrid-master20150916/examples/index.html <header class=”container_12″> <h1><a class=”index” href=”http://www.jq22.com/demo/mmGrid-master20150916/examples/index.html”>mmGrid</a> <a href=”http://www.jq22.com/demo/mmGrid-master20150916/examples/api.html”>参数列表</a> <a href=”http://www.jq22.com/demo/mmGrid-master20150916/examples/examples1.html”>操作示例&Bootstrap样式</a></h1> <hr /> </header> <h2>一、介绍</h2> 这是一个基于jQuery的表格部件。它提供了几个基本的功能,可以用于面积有限却要显示较多数据的页面。 它的样式表…

Read More Read More