- 签到
setbit sign:1:202207 0 1//用户1在20220701这天签到,需要日期-1;
getbit sign:1:202207 0 //检查20220701这天是否签到,返回1表示签到0没有
bitcount sign:1:202207 //统计7月签到次数
bitfield sign:1:202207 get u28 0 //获取前28天签到数据,即当天日期前面加u,返回的十进制数据,转换成二进制,然后循环
expire sign:1:202207 31243600 //设置key过期时间最多1个月$signarr = base_convert($signarr[0],10,2); $rili=[];//得到日历数据 $count=0;//连续签到次数 for($i=$sign;$i<=$today;$i++){ $is = $redis->getBit($key,$i); if($is==1){ $rili[]=$i+1; $count +=1; }else{ $count=0; } }
ttl sign:1:202207 返回过期时间秒数,-1是永不过期
bitpos sign:1:202207 1 //首次签到日期+1
zadd rank:sign:20220701 1657092489 1//用户1签到时间,签到排行榜,此处一定要判断用户id>0
expireat rank:sign:20220701 time()+25*3600 //25小时以后过期
zrangebyscore rank:sign:20220701 -inf +inf withscores limit 0 100 //前100名排行榜
zcard rank:sign:20220701 //当天签到总人数
zrank rank:sign:20220701 1//查询自己排名 - 浏览量,pv,uv,去重的,点击量
pfadd uv:20220706 127.0.0.1 //当天独立访客记录
pfadd uv:all 统计总站独立访问
pfcount uv:20220706 //独立当天访客统计
pfcount uv:all //统计总访问独立ip
incr pv:content:1 //文章浏览量,每刷新一次+1
incr pv:20220706 //网站pv统计,刷新一次加一次只统计当天,设置key0点过期$end = mktime(23, 59, 59, date(‘m’), date(‘d’), date(‘Y’));//当天结束时间过期
incr pv:all //统计整站总访问量
incr ip:1 //访问次数限制 - 队列
lpush list:sms “必须是字符串数据” //入队
lpop list:sms //出对数据 需要死循环 - 排行榜
zincrby rank:202207 10.02 1 //增加积分,月排行榜
zrevrangebyscore rank:202207 +inf -inf withscores limit 0 100//前100名 - 过期短信验证码,防重复提交
setex sms:18291447788 30 2345 //短信30秒过期
get sms:18291447788 //获取验证码
setex save:md51111 30 1//30秒内不能重复,用于评论,判断是否等于1作为是否提交. - 点赞
setbit pv:zan:1 1000 1 照片1用户1000点赞,取消设置0
bitcount pv:zan:1 点赞次数 - 抽奖
sadd q 1 2 3 4 5 添加值
spop q 随机取出一个值 - 投票
zadd vote:1 1 uid1 每人投1票
zincrby vote 1 a1 //文章每次加一票和上边一起执行
zrevrangebyscore vote +inf -inf withscores limit 0 10 排行榜 - 微博,朋友圈,的feed流
hset uid:1 name jay //存储用户信息用哈希
hset uid:2 name join
hset uid:3 name zhangsan
hset uid:4 name lisi
sadd follow:1 3 4 //jay粉丝,也就是3,4关注了1
sadd follow:2 4 //lisi关注join
set message:100 ‘内容’//发布一条信息id是100
smembers follow:1 //查询jay粉丝
xadd inbox:3 * id meaaage:100 //放入信箱
xadd inbox:4 * id meaaage:100
set message:101 ‘内容2’
smembers follow:2
xadd inbox:4 * id message:101
xrange inbox:3 - + count 10 //zhangsan查看自己消息 id
get message:100 //查看具体内容
xrange inbox:4 - + count 10 //lisi查看朋友圈
get message:100
get message:101
- 聊天室 stream流
xadd room:1 * date 2022-07-10-12:13:14 name joy message “hello” //发言,房间room:1
xadd room:1 * date 2022-07-10-12:13:15 name zhangsan message “hi”
xadd room:1 * date 2022-07-10-12:13:25 name lisi message “ok”
xlen room:1 //发言数量
xrange room:1 - + count 1 读取一条信息
xread count 5 streams room:1 $ 以非阻塞方式读取5条消息
xread block 50000 count 5 streams room:1 $ 阻塞方式新开窗口 - 位置服务,附近的人,店,外卖,点评,找房
geoadd shop 120 30 1 添加店位置,经度纬度,1是店id
geoadd shop 100 24 2
geopos shop 1 2 获取1经纬度,可以多个
geodist shop 1 2 km 两点1,2之间距离默认m
geohash shop 1 2 地理位置哈希值支持多个地址
georadius shop 120 30 5000 km count 10 withdist asc//查询附近5000km内位置距离,10条数据,由近到远
geoRadiusByMember shop 1 5000 km withdist asc //查询1附近5万km内距离,同上 - hash计数器,用来记录粉丝数,关注数量
hset uid:info:1 num 1 qq 3246566 记录信息
hincrby uid:info:1 num 1 自动+1
hget uid:info:1 num //获取数据- 基数,性别,年龄,爱好
pfadd uv:20220710 “127.0.0.1” 统计今天ip
pfcount uv:20220710 统计
pfmerge uv uv:20220710 uv:20220712 合并
pfadd sex:1 1 男
- 基数,性别,年龄,爱好
- zset去重排序排行榜,好友列表,历史记录
zadd rank:store 100 1 //用户1
文档更新时间: 2022-07-12 17:14 作者:Yoby