<?php namespace app\common\controller; use think\App; use think\facade\Cache; use think\facade\Db; /** * redis 点赞/收藏模块 * @package app\admin\controller * @author 宁佳兵 */ class Praise { private $redis = null; private $member_id; //用户id private $customer…
一.文章点赞样式构建 1.将base.html的css样式改为外部引入 将base.html的内嵌样式删除,改为使用 HTML 头部的 <head> 标签对中使用<link>标签来引入外部的 CSS 文件. base.html内容如下所示: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Ti…
Redis的具体操作这里就不说了,说一下需求和设计思路. 需求:自己实现一个文章投票的功能1.能够按照时间分页倒叙查看文章信息2.能够给文章投票,一个用户给一篇文章只能投票一次3.需要记录分值.每次投票后就+10分 思路:1.设计一个Hash,用于存储文章的基本信息(标题.内容.创建人).键:article:12.设计一个Set,用于记录一篇文章被哪些用户投过票.键:vole:13.设计一个ZSet,用于记录每一篇文章的分值.键:score RedisUtil.java package cn.d…
转:https://edu.aliyun.com/a/20538 摘要: 前言点赞其实是一个很有意思的功能.基本的设计思路有大致两种, 一种自然是用mysql等数据库直接落地存储, 另外一种就是利用点赞的业务特征来扔到redis(或memcache)中, 然后离线刷回mysql等.直接写入Mysql直接写入Mysql是最简单的做法.做两个表即可,1.post_like记录文章被赞的次数,已有多少人赞过这种数据就可以直接从表中查到;2.user_like_...   前言 点赞其实是一个很有意思的…
前言 这一篇文章将讲述Redis中的sortedset类型命令,同样也是通过demo来讲述,其他部分这里就不在赘述了. 项目Github地址:https://github.com/rainbowda/learnWay/tree/master/learnRedis/case-sortedset 案例 demo功能是文章点赞排名等等,整个demo的大致页面如下. 准备工作 首先定义一个存储文章的key private static final String ZSET_KEY = "articleLi…
好久没来整理文章了,闲了没事写篇文章记录下php+redis实现商城秒杀功能. 1,安装redis,根据自己的php版本安装对应的redis扩展(此步骤简单的描述一下) 1.1,安装 php_igbinary.dll,php_redis.dll扩展此处需要注意你的php版本如图: 1.2,php.ini文件新增 extension=php_igbinary.dll;extension=php_redis.dll两处扩展 ok此处已经完成第一步redis环境搭建完成看看phpinfo 2,项目中实…
点赞其实是一个很有意思的功能.基本的设计思路有大致两种, 一种自然是用mysql等 数据库直接落地存储, 另外一种就是利用点赞的业务特征来扔到redis(或memcache)中, 然后离线刷回mysql等. 直接写入Mysql 直接写入Mysql是最简单的做法. 做两个表即可, 1.post_like 记录文章被赞的次数,已有多少人赞过这种数据就可以直接从表中查到; 2.user_like_post 记录用户赞过了哪些文章, 当打开文章列表时,显示的有没有赞过的数据就在这里面; 缺点 1.数据库…
实现原理1.功能描述:一个用户对同一文章只能点赞一次,第二次就是取消赞2.建立一个点赞表great,字段有文章ID(aid),点赞用户ID(uid)3.当有用户进行点赞行为时,使用aid和uid搜索点赞表. 若有该记录,则表示用户已经点过赞,本次点击是取消点赞行为,故删除great表中的该条记录,同时将该文章的点赞数减1.若无该记录,则表示用户是要点赞,故在great表中添加该记录,同时该文章的点赞数加1.核心代码分析核心控制器BaseController: @Controllerpublic…
基于SpringBoot如何实现一个点赞功能? 解析: 基于 SpringCloud, 用户发起点赞.取消点赞后先存入 Redis 中,再每隔两小时从 Redis 读取点赞数据写入数据库中做持久化存储. 点赞功能在很多系统中都有,但别看功能小,想要做好需要考虑的东西还挺多的. 点赞.取消点赞是高频次的操作,若每次都读写数据库,大量的操作会影响数据库性能,所以需要做缓存. 至于多久从 Redis 取一次数据存到数据库中,根据项目的实际情况定吧,我是暂时设了两个小时. 项目需求需要查看都谁点赞了,所…
文章来源于我的 iteye blog http://ak478288.iteye.com/blog/1898190 以前为部门内部开发过一个定时器程序,这个定时器很简单,就是配置quartz,来实现定时调用配置的url功能.最近为了防止定时器所在的服务器由于特殊原因挂掉,需要对定时器做多机部署.那么如果按照原来的方式进行部署,就会遇到 在一定的间隔时间内,可能出现多次重复调用的问题.为了解决这个问题,我就借助了redis的分布式锁功能. redis分布式锁参考 : http://www.jeff…