博客列表 >redis 在php中的应用

redis 在php中的应用

夏日的烈风的博客
夏日的烈风的博客原创
2018年11月11日 17:38:441331浏览

https://www.cnblogs.com/lxwphp/p/7727796.html


redis在Php项目中的实际应用场景:

一:商品维度计数

对商品喜欢数,评论数,鉴定数,浏览数进行计数

说起电商,肯定离不开商品,而附带商品有各种计数(喜欢数,评论数,鉴定数,浏览数,etc)

Redis的命令都是原子性的,你可以轻松地利用INCR,DECR等命令来计数。

二 :用户维度计数

对用户动态数、关注数、粉丝数、喜欢商品数、发帖数等计数 

用户维度计数同商品维度计数都采用 Hash. 为User定义个key 为 user:

为每种数值定义hashkey, 譬如关注数follow

三:存储社交关系

譬如将用戶的好友/粉丝/关注,可以存在一个sorted set中,score可以是timestamp

默认集合按照score递增排序

这样求两个人的共同好友的操作,可能就只需要用求交集命令即可

四:用作缓存代替memcached

应用于商品列表,评论列表,@提示列表

相对memcached 简单的key-value存储来说,redis众多的数据结构(list,set,sorted set,hash,

etc)

可以更方便cache各种业务数据,性能也不亚于memcached。

五:反spam系统

应用系统评论、发布商品、论坛发贴的spam控制

作为一个电商网站被各种spam攻击是少不免(***评论、发布***商品、广告、刷自家商品排名等)

针对这些spam制定一系列anti-spam规则,其中有些规则可以利用redis做实时分析

譬如:1分钟评论不得超过2次、5分钟评论少于5次等(更多机制/规则需要结合drools )

常规sorted set将最近一天用户操作记录起来

(为什么不全部记录?节省memory,全部操作会记录到log,后续利用hadoop进行更全面分析统计)

六:用户Timeline/Feeds

应用于关注的人、主题、***及专栏

redis在这边主要当作cache使用

七:最新列表&排行榜

用于记录用户刚刚喜欢的商品最新列表or排行榜 等业务场景

八:消息通知

采用Hash结构对消息通知业务场景计数


上一条:swiper的坑需要注意下一条:QQ 互联
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议