社交网站点击追踪机制
package redis;
import redis.clients.jedis.Jedis;
public class 短连接 {
// 社交网站点击追踪机制:类似微博,发送连接地址:http://redis.com/index.html->http://t.cn/XSGGA9D
//
// 长连接赚成短连接,可以利用短连接进行点击数量追踪,然后再让你进入短连接对应长连接里面去,所以可以利用hash数据结构实现网址点击追踪机制。
//
// 可以根据短连接作为key,可以知道有多少人访问了你这个短连接;。
Jedis jedis = new Jedis("127.0.0.1");
public 短连接(){
//将短连接设置特别大
jedis.set("short_url_seed","39213021");
}
private static final String X36="01234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ";
private static final String[] X36_ARRAY="0,1,2,3,4,5,6,7,8,9,0,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z".split(",");
/**
* 给短连接进行次数增加
* @param curl
*/
public void incr(String curl){
//+1
jedis.hincrBy("short_url_access_count",curl,1);
}
public Long getincr(String curl){
//+1
return Long.valueOf(jedis.hget("short_url_access_count",curl));
}
/**
* 获取短连接网址
* @param url
* @return
*/
public String getShortURL(String url){
Long num = jedis.incr("short_url_seed");
StringBuffer sb=new StringBuffer();
while(num>0){
sb.append(X36_ARRAY[(int)(num%36)]);
num=num/36;
}
String shorUrl = sb.reverse().toString();
jedis.hset("short_url_access_count",shorUrl,"0");
//维护长连接对应映射关系
jedis.hset("url_mapping",shorUrl,url);
return shorUrl ;
}
public static void main(String[] args) {
短连接 d = new 短连接();
String shortURL = d.getShortURL("http://redis.com/index.html");
//对短连接访问
System.out.println("网页短连接地址为"+shortURL);
for (int i = 0; i <152 ; i++) {
d.incr(shortURL);
}
Long getincr = d.getincr(shortURL);
System.out.println("短连接被访问次数"+getincr);
}
}
---------------------------------------------------------------------------
国之殇,未敢忘!
南京大屠杀!
731部队!
(有关书籍《恶魔的饱食》)以及核污染水排海等一系列全无人性的操作,购买他们的食品和为它们提供帮助只会更加变本加厉的害你,呼吁大家不要购买日本相关产品
昭昭前事,惕惕后人
吾辈当自强,方使国不受他人之侮!
---------------------------------------------------------------------------
作者:三号小玩家
出处:https://www.cnblogs.com/q1359720840/
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。 版权信息

浙公网安备 33010602011771号