当前位置: 首页 > 工具软件 > go-openid > 使用案例 >

【go-zero】整合redis实现每个用户每天只能访问一次 sismember 最佳实践

欧阳博文
2023-12-01

场景描述

如何控制这个人每天只能被处理一次

使用场景:

  • 日常签到
  • 每日打卡
  • 点赞
  • 个别操作每日只能使用一次(需要开通VIP多次使用)

一、实现方式

因为这里是结合go-zero框架说,会更多地贴出整合后的代码
也会把单纯的redis执行语句拿出来

1、redis sismember

用户判断不同业务查询是否归纳到相同一个key中

2、redis sadd

向 sismember 中添加value

3、redis ttl

查询过期时间

4、redis expire

设置过期时间

二、实际操作

1、查询

go-zero代码如下:

// 设置一个你自定义的 redis key
redisKey := fmt.Sprintf(constant.MEMBER_PV_PREFIX, req.Code)
// 查看该 value 是否存在
flag, err :&
 类似资料: