redis在php中应用场景,项目中应用Redis+Php的场景

前言

一些案例中有的同学说为什么不可以用string类型,string类型完全可以实现呀

我建议你看下我的专栏文章《Redis高级用法》,里面介绍了用hash类型的好处

商品维度计数

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

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

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

采用Redis 的类型: Hash. 如果你对redis数据类型不太熟悉,可以参考

http://redis.io/topics/data-types-intro

为product定义个key product:,为每种数值定义hashkey, 譬如喜欢数like_num

用户维度计数

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

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

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

存储社交关系

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

默认集合按照score递增排序

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

用作缓存代替memcached

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

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

etc)

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

NOTE: RPUSH pagewviews.user: EXPIRE pagewviews.user: 60 //注意要update timeout

反spam系统

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

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

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

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

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

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

用户Timeline/Feeds

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

redis在这边主要当作cache使用

最新列表&排行榜

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

商品最新列表-sorted set结构呈现

排行榜-list数据结构呈现

消息通知

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

将Redis用作消息队列

采用Redis的List数据结构实现分布式的消息队列

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值