技术派Redis实现作者白名单

通过技术派发文章的时候,发文章会先通过审核,只有通过审核在会在网站上进行展示。是不是所有的作者都要经过审核呢?

当然不是,在这里做了一个白名单,在白名单中的用户发文之后是不需要进入审核的,可以直接上线。

问题的产生的疑问?

为什么要进行审核?

如后台文章列表

文章参差不齐,有的值得点赞、收藏,有的可能有违规的内容,还有的文章不符合网站的主题要求等,若不经过审核直接上线,会导致网站的文章质量下滑。作为一个交流的学习型的网站社区,审核是必不可少的。

白名单如何实现的?

对作者添加白名单有很多可选方案

配置文件写死(相当于硬编码方式)

  • 优点:简单
  • 缺点:不灵活,每次改动都需要改代码发版,基本上不适用实际生产项目

数据库配置一个白名单

  • 优点:灵活,实用性强
  • 缺点:实现有点重、难

基于redis的set实现白名单

  • 优点:实现简单,轻量
  • 缺点:依赖于redis

本项目的白名单就是基于redis的set来实现的,下面来看一下详细实现策略。

redis实现白名单

对于使用redis来实现白名单,最容易想到的数据结构就是set。

set基本知识点

首先熟悉一下redis中的set的相关命令操作

添加

#向集合中添加多个成员

sadd key val1 val2

集合数量

scard key

判断集合是否包含元素val

sismember key val

返回1表示在里面  0表示不再里面

返回集合所有成员


smembers key

随机移除集合中的一个元素

spop key

随机返回集合中的几个元素

srandmember key count

删除集合中成员

srem key val

简单演示一下

集合除上述基本操作之外,还支持多集合之间的相互操作

差集

返回第一个集合以其他集合之间的差异

sdiff key1 key2 key3

返回所有给定集合的差值,并存储在destination


                
  • 28
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值