點讚功能隨處可見,我們都知道點讚是乙個非常高頻的操作,redis就非常適合做這種工作。
實現效果:
我們只實現檢視點讚數量的話,只要乙個int記錄一下就可以,但是我們之後還想檢視點讚的人,所以要把每乙個點贊的資訊都記錄好,方便後面的功能繼續做出來。
思路:點讚:把點讚的資訊放進去。
取消:把點讚的資訊刪除。
在此之前,我們要封裝乙個get到key的類,方便後面復用。
package com.now.community.community.util;
public class rediskeyutil
// 某個使用者的贊
// like:user:userid -> int
public static string getuserlikekey(int userid)
}
點讚業務:
// 點讚
public void like(int userid, int entitytype, int entityid, int entityuserid) else
return operations.exec();
}});
}
我們要查詢是否點讚,還有點贊數量,方便頁面顯示:
// 查詢某實體點讚的數量
public long findentitylikecount(int entitytype, int entityid)
// 查詢某人對某實體的點讚狀態
public int findentitylikestatus(int userid, int entitytype, int entityid)
點讚likecontroller
@responsebody
public string like(int entitytype, int entityid,int entityuserid,int postid)
Redis實戰之微博點贊
資料型別 zset 優點 可排序 1 點讚 zadd t tid postid liked time uid tid 被點讚人的微博id postid 微博id uid 點讚人的微博id 按照time從小到大排列 取出點讚人 1 zrange t tid postid liked startinde...
重溫redis 點讚
同一類的key,value值不同可以使用 btype subjectid同乙個主題,點讚的使用者不同 首先要對redistemplate set集合 opsforset有多了解 boolean liked stringredistemplate.opsforset ismember key,uid ...
點讚功能與redis
摘要 前言點讚其實是乙個很有意思的功能。基本的設計思路有大致兩種,一種自然是用mysql等資料庫直接落地儲存,另外一種就是利用點讚的業務特徵來扔到redis 或memcache 中,然後離線刷回mysql等。直接寫入mysql直接寫入mysql是最簡單的做法。做兩個表即可,1 post like記錄...