对于一个网站来说,无论是商城网站还是门户网站,搜索框都是有一个比较重要的地位,它的存在可以说是 为了让用户更快.更方便的去找到自己想要的东西.对于经常逛这个网站的用户,当然也会想知道在这里比较“火” 的东西是什么,这个时候我们搜索框上的热词就起作用了.其实我觉得这一块的完善会对这个网站带来许多益处. 可能现在比较普遍的做法是把这些相应的信息存到我们的关系型数据库中,如sql server 和 oracle.方便起见 的话,可能每搜索一次就往表里插一次数据,用的时候要先统计数据,统计完后再排序,最…
我们有时会在网站中看到最后的访问用户.最近的活跃用户等等诸如此类的一些信息.本文就以最后的访问用户为例, 用Redis来实现这个小功能.在这之前,我们可以先简单了解一下在oracle.sqlserver等关系型数据库中是怎么实现的. 不可否认至少会有一张表来记录,根据时间desc排序,再取出前几条数据.下面来看看怎么用Redis来实现这个小功能: 案例用到的一些相关技术和说明:   技术 说明 Redis 存储数据,用了主从的模式,主写从读 artTemplate 主要是用于显示最后登陆的5位用…
Jedis Jedis是Redis官方推出的一款面向Java的客户端,提供了很多接口供Java语言调用.可以在Redis官网下载,当然还有一些开源爱好者提供的客户端,如Jredis.SRP等等,推荐使用Jedis. Spring Data Redis spring-data-redis是spring大家族的一部分,提供了在srping应用中通过简单的配置访问redis服务,对reids底层开发包(Jedis, JRedis, and RJC)进行了高度封装,RedisTemplate提供了red…
SpringBoot概念 Spring优缺点分析 Spring优点 Spring是Java企业版(Java Enterprise Edition,JEE,也称J2EE)的轻量级代替品,无需开发重量级的Enterprise JavaBean(EJB).Spring为企业级Java开发提供了一种相对简单的方法,通过依赖注入和面向切面编程,用简单的Java对象(Plain Old Java Object,POJO)实现了EJB的功能. Spring缺点 虽然Spring的组件代码是轻量级的,但它的配置…
Overview 整个项目的整体架构如下: 关于SparkStreaming的部分: Flume传数据到SparkStreaming:为了简单使用的是push-based的方式.这种方式可能会丢失数据,但是简单. SparkStreaming因为micro-batch的架构,跟我们这个实时热点的应用还是比较契合的. SparkStreaming这边是基于sliding window实现实时热搜的,batch interval待定(1min左右),window也待定(3~N* batch inte…
前言 最近工作中做了几个数据可视化大屏项目,其中也有用到了词云展示,以前做词云都是用python库来生成图片显示的,这次用了纯前端的实现(Ctrl+V真好用),同时顺手做个微博热搜的词云然后记录一下~ 依赖 echarts 4.x echarts-wordcloud 1.1.3 tips:echarts-wordcloud现在有2.0和1.x两个版本,2.0对应echarts 5.x版本 效果 预览地址:http://www.sblt.deali.cn:9000/weibo_top/ 实现过程…
负载均衡,这应该是一个永恒的话题,也是一个十分重要的话题.毕竟当网站成长到一定程度,访问量自然也是会跟着增长,这个时候, 一般都会对其进行负载均衡等相应的调整.现如今最常见的应该就是使用Nginx来进行处理了吧.当然Jexus也可以达到一样的效果.既然是 负载均衡,那就势必有多台服务器,如果不对session进行处理,那么就会造成Session丢失的情况.有个高大上的名字叫做分布式Session. 举个通俗易懂的例子,假设现在有3台服务器做了负载,用户在登陆的时候是在a服务器上进行的,此时的se…
连续登陆活动,或许大家都不会陌生,简单理解就是用户连续登陆了多少天之后,系统就会送一些礼品给相应的用户.最常见的 莫过于游戏和商城这些.游戏就送游戏币之类的东西,商城就送一些礼券.正值国庆,应该也有不少类似的活动. 下面就对这个的实现提供两个思路,并提供解决方案. 思路1(以用户为维度): 连续登陆活动,必然是要求连续登陆,不能有间隔.用1表示登陆,0表示没有登陆,这样我们可以为每个用户创建一个key去存储 他的登陆情况,就可以得到类似这样的一个二进制序列:1110111,如果是7个1,就表示连…
简介 前面介绍了广告定向的实现,它是一个查询密集型 (query-intensive) 程序,所以每个发给它的请求都会引起大量计算.本文将实现一个简单的社交网站,则会尽可能地减少用户在查看页面时系统所需要做的工作. P184 用户和状态 P185 用户对象存储了用户的基本身份标识信息.用户的关注者人数.用户已发布的状态消息数量等信息,它是构建其他可用且有趣的数据的起点. P185 状态消息记录了不同的用户都说了什么,以及不同用户之间进行了什么交流,这些由用户创建的状态消息是社交网站真正的内容.…
Spring Data Solr简介 虽然支持任何编程语言的能力具有很大的市场价值,你可能感兴趣的问题是:我如何将Solr的应用集成到Spring中?可以,Spring Data Solr就是为了方便Solr的开发所研制的一个框架,其底层是对SolrJ(官方API)的封装. 简单案例: pom.xml <dependencies> <dependency> <groupId>org.springframework.data</groupId> <art…