码迷,mamicode.com
首页 > 编程语言 > 详细

javaweb中的点赞功能_redis

时间:2019-09-20 23:09:12      阅读:203      评论:0      收藏:0      [点我收藏+]

标签:apt   通过   javaweb   导入   public   service   封装   cat   like   

点赞是高频的操作,如果读取都通过数据库操作,会增大数据库的负担,使用redis作为缓存+定时的方式,可以减少数据库的负担。

优点是 点赞操作的速度加快;减少了数据库的负担

缺点是 redis的持久化不是实时的,缓存中可能丢失用户的点赞数据

 

在使用redis的时候首先在pom文件中导入jedis的包,其次建立工具类 JedisAdapter 属于service层,其次由于redis存储的时候对key的要求很高,为保证key的唯一性和有效性,

建立redisUtil来管理key

//rediskey的工具类

public class RedisUtil{

private statoc final String SPILT=":";

private sttaic final String BIZ_LIKE="LIKE";

private static final String BIZ_DISLIKE="DISLIKE";

private sttaic final String BIZ_EVENT="EVENT";

public staic String getEventQueuKey(){reutrn BIZ_EVENT;}

public staic String getLikeKey(int entityId,int ntityType){

return BIZ_LIKE+SPLIT+String.valueOf(entityType)+SPLIT+String.valueOf(EntityId);

}

public staic String getDislikeKey(int entityId,int ntityType){

return BIZ_DISLIKE+SPLIT+String.valueOf(entityType)+SPLIT+String.valueOf(EntityId);

}

}

 

 

下面是连接redis和数据库 并封装redis中的get set rem操作

@service

publicclassJedisAdpater implemrnts InitializeBean{

Jedis pool=null;

@Override

public void aferpropertiesSet(){

 pool=new JedisPool("localhost",6379);

}

//查询

public String get(String key){

try{

Jedis jedis=pool.getResourse();

return jedis.get(key);

}catch(E$xception e){

e.printstack();

}finally{

if(jedis!=null)

jedis.clase();

}

}

 

}

//点赞点踩操作

@Service

public class LikeService{

@Autowired

JedisAdapter jedisAdapter;

 

//点赞的状态

 

 

....待续

 

}

 

javaweb中的点赞功能_redis

标签:apt   通过   javaweb   导入   public   service   封装   cat   like   

原文地址:https://www.cnblogs.com/bowenqianngzhibushiwo/p/11546261.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!