• 展开微博窗口
  • QQ:826945906
  • 微信:u200714928
  • 展开分类目录
胡伟

浅谈Redis数据库的键值设计(转)

丰富的数据结构使得redis的设计非常的有趣。不像关系型数据库那样,DEV和DBA需要深度沟通,review每行sql语句,也不像memcached那样,不需要DBA的参与。redis的DBA需要熟悉数据结构,并能了解使用场景。 下面举一些常见适合kv数据库的例子来谈谈键值的设计,并与关系型数据库做一个对比,发现关系型的不足之处。 用户登录系统 记录用户登录信息的一个系统, 我们简化业务后只留下一张表。 关系型数据库的设计 mysql> select * from login; +———+—————-+————-+———————+ | user_id | name | login_times | last_login_time | +———+—————-+————-+———————+ …

大牛的人生

【swoole-韩天峰】 我最开始工作也是在2家小公司,后来加入腾讯阿里,主要原因还是我坚持学习基础知识,从而得到了这个机会。有几个方面的基础知识,我建议每一位PHP程序员都应该好好学习一下。我推荐几本书给大家,包括深入理解计算机系统、现代操作系统、C程序设计语言、C语言数据结构和算法、Unix环境高级编程、TCP/IP网络通信详解。另外我建议大家学习一下面向对象方面知识,PHP这方面的书不太多,建议看Java面向对象编程、Java编程思想、J2EE这些书。PHP语言基础方面,建议认真地把PHP5权威编程这本书好好读完。另外不光要读,还要照着书中的讲解动手去编程实践。 【多隆-蔡景现】 我坐火车经常一坐就是七个小时,真的感觉太长了。 …

一致性Hash(Consistent Hashing)原理剖析

引入 在业务开发中,我们常把数据持久化到数据库中。如果需要读取这些数据,除了直接从数据库中读取外,为了减轻数据库的访问压力以及提高访问速度,我们更多地引入缓存来对数据进行存取。读取数据的过程一般为: 图1:加入缓存的数据读取过程 对于分布式缓存,不同机器上存储不同对象的数据。为了实现这些缓存机器的负载均衡,可以使用式子1来定位对象缓存的存储机器: m = hash(o) mod n ——式子1 其中,o为对象的名称,n为机器的数量,m为机器的编号,hash为一hash函数。图2中的负载均衡器(load balancer)正是使用式子1来将客户端对不同对象的请求分派到不同的机器上执行,例如,对于对象o,经过式子1的计算,得到m的值为3,那么所 …

智力题及答案

【1】假设有一个池塘,里面有无穷多的水。现有2个空水壶,容积分别为5升和6升。问题是如何只用这2个水壶从池塘里取得3升的水。 【2】 周雯的妈妈是豫林水泥厂的化验员。 一天,周雯来到化验室做作业。做完后想出去玩。 “等等,妈妈还要考你一个题目,”她接着说,”你看这6只做化验用的玻璃杯,前面3只盛满了水,后面3只是空的。你 能只移动1只玻璃杯,就便盛满水的杯子和空杯子间隔起来 吗?” 爱动脑筋的周雯,是学校里有名的”小机灵”,她只想了一会儿就做到了。 请你想想看,”小机灵”是怎样做的? 【3】 三个小伙子同时爱上了一个姑娘,为了决定他们谁能娶这个姑娘,他们决定用手*枪进行 …

诗词集锦

  【夜雪】 已讶衾枕冷,复见窗户明。 夜深知雪重,时闻折竹声。   【忆江南】 江南好,风景旧曾谙。 日出江花红胜火, 春来江水绿如蓝, 能不忆江南。   【白云泉】 天平山上白云泉,云自无心水自闲。 何必奔冲山下去,更添波浪向人间。   【长相思】 汴水流,泗水流,流到瓜洲古渡头, 吴山点点愁。 思悠悠,恨悠悠,恨到归时方始休, 月明人倚楼。   【大林寺桃花】 人间四月芳菲尽,山寺桃花始盛开。 长恨春归无觅处,不知转入此中来。   【赋得古原草送别】 离离原上草,一岁一枯荣。 野火烧不尽,春风吹又生。 远芳侵古道,晴翠接荒城。 又送王孙去,萋萋满别情。   【宫词】 泪尽罗巾梦不成,夜深前殿按歌声。 红颜未老恩先断, …

成功人士必备的50个好习惯

第1节:前言         前言   有这么一个故事:有个人从亚历山大帝王图书馆借了一本书,发现这本书里夹着一张纸条,上面写着点铁成金的秘密:谁要是在黑海边找到了点金石,谁就可以将任何金属点成纯金。纸条上说,这块奇石的外观与其他石头没有什么区别,只是它摸起来是温的。于是这个人来到黑海边寻找点金石。为了避免重复,他每捡到一块冰凉的石头就往海里一扔。终于有一天,他捡起了一块石头,是温的!他仍然随手扔进了海里,因为他已养成往海里扔石头的习惯。 由此看来,习惯往往在潜移默化地影响着一个人的行为。爱默生说:“习惯是人的思想与行为的领导者。”培根也曾说过:“习惯是一种顽强而巨大的力量,它可以主宰人生。”心理学家 …

改变生活的心理学法则

79个潜规则:改变生活的心理学法则(全文) 第一篇 情绪篇 第1节:前言(1)    改变生活的心理学法则    前言    为什么曾经深受消费者青睐的三鹿奶粉,在“毒奶粉”事件中轰然倒闭,最终退出市场?    为什么有人在众目睽睽下遇到灾难时,竟然得不到救助,真的是现代人冷漠至此吗?    为什么投机者愿意花高价买下某个东西,即使它的价格远远高出实际价值?    为什么算命先生有时说得很准,难道他们真有未卜先知的能力吗?    为什么地上的垃圾没有及时清理,用不了多久,就会满地狼藉?    为什么棒打鸳鸯,反而让恋人们爱得难分难舍?    这些纷繁复杂的社会现象,我们虽然已经习以为常,但并不了解隐藏在背后的真相。其实,在我们身边存 …

如何对产品做AB测试

ABtest一个总的目的和意图是,判断哪种种UI或rerank策略更优,通过事实的依据( CTR或下单率)判断哪种策略更符合用户的习惯和需求。 一、需求驱使  我们经常会面临多个设计方案的选择,比如app或pc端某个界面的某个按钮是用红色还是用蓝色,是放左边还是放右边。传统的解决方法通常是集体讨论表决,或者由某位专 家或领导或文青来拍板,实在决定不了时也有随机选一个上线的。虽然传统解决办法多数情况下也是有效的,但A/B 测试(A/B Testing)可能是解决这类问题的一个更好的方法。 所谓 A/B 测试,简单来说,就是为同一个目标制定两个方案(比如两个页面),让一部分用户使用 A 方案,另一部分用户使用 B 方案,记录下用户的使用情况 …

awk sed grep 详解

awk 【功能说明】 用于文本处理的语言(取行,过滤),支持正则 NR代表行数,$n取某一列,$NF最后一列 NR==20,NR==30 从20行到30行 FS竖着切,列的分隔符 RS横着切,行的分隔符 【语法格式】 awk [–F] [“[分隔符]”] [’{print$1,$NF}’] [目标文件] awk ‘BEGIN{FS=”[列分隔符]+”;RS=”[行分隔符]+”;print “-GEGIN-“} NR==n{动作} END{print “-END-“}’ xxx.txt 【内置变量】 $n 当前记录的第n个字段,字段间由 FS分隔。 $0 完整的输入记录。 ARGC 命 令行参数的数目。 ARGIND 命令行中当前文件的位置(从0开始算)。 ARGV 包 含命令行参数的数组。 CONVFMT 数字转换格式(默认值为%.6g) ENVIRON 环 境变量关联数组。 ERRNO 最后一个系统错误的 …