redis 各种数据类型的实战应用场景

1.hmset 批量设置hash表中的数据
    hmset user:1 name fang view 5
2.hincrby user:1 view 1 view值加1
3.获取当前用户的微信订阅消息
    用redis的list去维护一个用户的消息列表
    当公众号发布一个新消息的时候,就向消息列表中push一条记录
    lpush msg:1 200  向id为1的用户的列表中,插入id为200的消息
    同理一些最新消息也可以用list维护
4.qq的点赞,收藏功能
    sadd like:动态id 用户id
    srem like:动态id 用户id
    sismember like:动态id 用户id #是否点过赞
5.集合运算实现微博的关注模型
    共同关注 sinter s1 s2
    我关注的人也关注了他 sismemer my s1
    可能认识的人 sdiff s1 my 
6.有序集合实现各种排行榜
    增加新闻点击值 zincrby new_set:20201212 1 新闻id
    获取当日前十点击量新闻 zrevrange new_set:20201212 0 9 withscores
7.利用redis的geo数据结构可以实现摇一摇,周边的人。
    geoadd yaoyiyao 经度 纬度 zhangsan   添加张三的坐标信息
    geodis yaoyiyao zhangsan lisi 计算张三李四的坐标信息
    georadiusbymember yaoyiyao zhangsna 100 km 返回张三100k半径的人
8.利用hyperloglog进行网页的浏览量计数,这种方式不保存集合中的元素,只统计元素不重复的数量
    pfadd view:文章id 用户id  添加用户,可以去重。
    pfcount view:文章id  计算文章的浏览量
9.利用bitmap实现0,1数据统计。比如统计一年中用户的活跃天数,以及一个月的打卡天数。优点都是同上占用内存小
    setbit status:2019-03:用户id 0 1  2019年3月第一天用户打卡
    get status:2019-03:用户id 0   获取2019年3月第一天用户打卡情况
    bitcount status:2019-03:用户id   获取2019年3月用户打卡天数

 

你可能感兴趣的:(web-php,linux,redis,数据库)