导航

上一页 1 ··· 49 50 51 52 53 54 55 56 57 ··· 81 下一页

2014年4月3日

摘要: 使用缓存必然会碰到缓存跟真实数据不一致的问题,虽然我们会在数据发生变化时通知缓存,但是这个延迟时间内必然会导致数据不一致,如何解决一般有下面几个思路: 首先,当这个延迟如果在业务上时可以接受的,比如文章阅读、评论次数这样的缓存数据,这样的问题这里不考虑。 类似数据库分布式事务的方式 可以采用类似数据库分布式事务的方式,当数据发生变化时,通知缓存和DB,缓存和DB均用乐观锁实现事务。典型... 阅读全文

posted @ 2014-04-03 11:10 蝈蝈俊 阅读(1738) 评论(0) 推荐(1) 编辑

摘要: 转自:http://qiaodahai.com/solid-state-drives-ssd-and-flash-memory.html 固态硬盘SSD(Solid State Drive)泛指使用NAND Flash组成的固态硬盘,其特别之处在于没有机械结构,利用传统的NAND Flash特性,以区块写入和抹除的方式作读写的功能,因此在读写的效率上,非常依赖读写技术上的设计,与目前的传统硬盘... 阅读全文

posted @ 2014-04-03 09:54 蝈蝈俊 阅读(3566) 评论(0) 推荐(0) 编辑

2014年3月25日

摘要: 因为经典,所以转发。 一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 栈区(stack) — 由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 堆区(heap) — 一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回 收。注意它与数据结构中的堆是两回事,分配方式倒是... 阅读全文

posted @ 2014-03-25 14:16 蝈蝈俊 阅读(6828) 评论(0) 推荐(1) 编辑

2014年2月21日

摘要: 谁说NoSQL都不支持事务,虽然Redis的Transactions提供的并不是严格的ACID的事务(比如一串用EXEC提交执行的命令,在执行中服务器宕机,那么会有一部分命令执行了,剩下的没执行),但是这个Transactions还是提供了基本的命令打包执行的功能(在服务器不出问题的情况下,可以保证一连串的命令是顺序在一起执行的,中间有会有其它客户端命令插进来执行)。Redis还提供了一个Watc... 阅读全文

posted @ 2014-02-21 19:06 蝈蝈俊 阅读(367) 评论(0) 推荐(0) 编辑

摘要: Redis支持按key设置过期时间,过期后值将被删除(在客户端看来是补删除了的) 用TTL命令可以获取某个key值的过期时间(-1表示永不过期) 127.0.0.1:6379> set name "ghj1976" OK 127.0.0.1:6379> ttl name (integer) -1 TTL key 以秒为单位,返回给定 key 的剩余生存时间(TTL, t... 阅读全文

posted @ 2014-02-21 15:50 蝈蝈俊 阅读(9357) 评论(1) 推荐(0) 编辑

摘要: Publish/Subscribe 从字面上理解就是发布(Publish)与订阅(Subscribe),在Redis中,你可以设定对某一个key值进行消息发布及消息订阅,当一个key值上进行了消息发布后,所有订阅它的客户端都会收到相应的消息。这一功能最明显的用法就是用作实时消息系统,比如普通的即时聊天,群聊等功能。 相关命令参考:http://www.redisdoc.com/en/latest... 阅读全文

posted @ 2014-02-21 15:39 蝈蝈俊 阅读(2342) 评论(0) 推荐(0) 编辑

摘要: 和Sets相比,Sorted Sets增加了一个权重参数score,使得集合中的元素能够按score进行有序排列,比如一个存储全班同学成绩的Sorted Sets,其集合value可以是同学的学号,而score就可以是其考试得分,这样在数据插入集合的时候,就已经进行了天然的排序。另外还可以用Sorted Sets来做带权重的队列,比如普通消息的score为1,重要消息的score为2,然后工作线程... 阅读全文

posted @ 2014-02-21 15:07 蝈蝈俊 阅读(1735) 评论(0) 推荐(0) 编辑

摘要: Sets 就是一个集合,集合的概念就是一堆不重复值的组合。利用Redis提供的Sets数据结构,可以存储一些集合性的数据,比如在微博应用中,可以将一个用户所有的关注人存在一个集合中,将其所有粉丝存在一个集合。Redis还为集合提供了求交集、并集、差集等操作,可以非常方便的实现如共同关注、共同喜好、二度好友等功能,对上面的所有集合操作,你还可以使用不同的命令选择将结果返回给客户端还是存集到一个新的集... 阅读全文

posted @ 2014-02-21 10:13 蝈蝈俊 阅读(455) 评论(0) 推荐(0) 编辑

2014年2月19日

摘要: Lists 就是链表,相信略有数据结构知识的人都应该能理解其结构。使用Lists结构,我们可以轻松地实现最新消息排行等功能。Lists的另一个应用就是消息队列,可以利用Lists的PUSH操作,将任务存在Lists中,然后工作线程再用POP操作将任务取出进行执行。Redis还提供了操作Lists中某一段的api,你可以直接查询,删除Lists中某一段的元素。 本文的命令参考:http://www... 阅读全文

posted @ 2014-02-19 16:51 蝈蝈俊 阅读(319) 评论(0) 推荐(0) 编辑

摘要: 在Memcached中,我们经常将一些结构化的信息打包成hashmap,在客户端序列化后存储为一个字符串的值,比如用户的昵称、年龄、性别、积分等,这时候在需要修改其中某一项时,通常需要将所有值取出反序列化后,修改某一项的值,再序列化存储回去。这样不仅增大了开销,也不适用于一些可能并发操作的场合(比如两个并发的操作都需要修改积分)。而Redis的Hash结构可以使你像在数据库中Update一个属性一... 阅读全文

posted @ 2014-02-19 16:17 蝈蝈俊 阅读(707) 评论(0) 推荐(0) 编辑

上一页 1 ··· 49 50 51 52 53 54 55 56 57 ··· 81 下一页