在redis中使用hash存储文章的点赞数。当用户点赞时,使用redis中的set集合类型存储每个用户点赞的记录。...
上面使用 string 存储的用户点赞数量,除了 string,还可以用 hash 来存储,对文章 id 分块,每 100 个存到一个 hash,分别存入 hash table,每个文章 id 为 hash 的一个 key,value 存储点赞的用户 id,如果点赞用户很多,避免 id 过多产生性能问题,可以单列出来,用sorted set结构保存,热点的毕竟是少数。 hash ...
可以采用多个HashSet存储。每一条微博只是HashSet内的一个子key。增加赞的数量可以采用HIncrBy命令。把TID...
用户点赞的文章:使用HashMap数据结构,HashMap中的key为userId,value为Set,Set中的值为文章ID,即HashMap<String, Set<String>> 2、MySQL数据库设计 article表结构(文章总的点赞数需要和Redis中的点赞数进行同步) user_like_article表结构(记录用户点赞文章的信息,是一张中间表) 说明:表结构设计省略了id、delete...
1.点赞接口要利用redis做点赞次数限制,比如一分钟之内最多点赞或取消点赞四次 2.点赞是很高频随兴的操作,最好不要直接操作数据库,先把点赞信息放入redis缓存,然后跑定时任务每15秒去同步到数据库,同步完之后把同步好的信息批量从redis删除。 3.把点赞信息放入redis缓存的时候选用hashset类型存储,结构大概为hset...
Redis 和 MySQL应用场景不同。 从效率来说: Redis的数据存放在内存,所以速度快但是会受到内存空间限制。 MySQL存放在硬盘,在速度上肯定没有Redis快,但是存放的数据量要多的多。 从功能来说: Redis是一个K-V数据库,同时还支持List/Hash/Set/Sorted Set等几个简单数据结构,所以只能以这些数据结构为基础实现功能。
post_set 在redis中弄一个set存放所有被点赞的文章 post_user_like_set_{$post_id} 对每个post以post_id作为key, 搞一个set存放所有对该post点赞的用户; post_user_like_{$post_id}_{$user_id} 将每个用户对每个post的点赞情况放到一个hash里面去, hash的字段就 ...
1.3 Redis 的数据结构类型 Redis 可以存储键与5种不同数据结构类型之间的映射,这5种数据结构类型分别为String(字符串)、List(列表)、Set(集合)、Hash(散列)和 Zset(有序集合)。下面来对这5种数据结构类型作简单的介绍:1.4 点赞数据在 Redis 中的存储格式 用 Redis 存储两种数据,一种是记录点赞...
通过研究Redis的基本数据类型,最终觉得使用hash进行保存,定义一个点赞key(AGREE),所以最后的数据结构如下 127.0.0.1:6379> hset AGREE1::20 将被点赞id和点赞用户进行拼接作为一个字段,最后一个0代表状态,0代表未点赞,1代表一点赞,在存入之前进行判断,进行相应的保存。