摘要: redis的事务很简单,他主要目的是保障,一个client发起的事务中的命令可以连续的执行,而中间不会插入其他client的命令。 看下面例子: 我们调用jedis.watch(…)方法来监控key,如果调用后key值发生变化,则整个事务会执行失败。另外,事务中某个操作失败,并不会回滚其他操作(好奇 阅读全文
posted @ 2016-10-02 20:51 okay4321 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 有时,我们需要采用异步方式,一次发送多个指令,不同步等待其返回结果。 利用pipeline的方式从client打包多条命令一起发出,不需要等待单条命令的响应返回, 而redis服务端会处理完多条命令后会将多条命令的处理结果打包到一起返回给客户端(ps:有点类似存储过程的特点)。 这样可以取得非常好的 阅读全文
posted @ 2016-10-02 20:39 okay4321 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 首先说下这个问题的使用场景,有些时候我们业务逻辑是在不同的jvm进程甚至是不同的物理机上的jvm处理的。 这样如何来实现不同jvm上的同步问题呢,其实我们可以基于redis来实现一个锁(秒杀场景)。 Redis Setnx(SET if Not eXists) 命令在指定的 key 不存在时,为 k 阅读全文
posted @ 2016-10-02 20:18 okay4321 阅读(520) 评论(0) 推荐(0) 编辑
摘要: kafka集群搭建 Java代码 1.zookeeper集群 搭建在110, 111,112 2.kafka使用3个节点110, 111,112 修改配置文件config/server.properties broker.id=110 host.name=192.168.1.110 log.dirs 阅读全文
posted @ 2016-10-02 19:32 okay4321 阅读(897) 评论(0) 推荐(0) 编辑
摘要: 使用Java操作Redis需要jedis-2.1.0.jar,下载地址:http://files.cnblogs.com/liuling/jedis-2.1.0.jar.zip 如果需要使用Redis连接池的话,还需commons-pool-1.5.4.jar,下载地址:http://files.c 阅读全文
posted @ 2016-10-02 18:59 okay4321 阅读(432) 评论(0) 推荐(0) 编辑
摘要: TopK问题是指从大量数据(源数据)中获取最大(或最小)的K个数据。 TopK问题是个很常见的问题:例如学校要从全校学生中找到成绩最高的500名学生,再例如某搜索引擎要统计每天的100条搜索次数最多的关键词。 对于这个问题,解决方法有很多: 方法一:对源数据中所有数据进行排序,取出前K个数据,就是T 阅读全文
posted @ 2016-10-02 11:45 okay4321 阅读(394) 评论(0) 推荐(0) 编辑