加入收藏 | 设为首页 | 会员中心 | 我要投稿 北几岛 (https://www.beijidao.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

[视频教程] redis中的bit运用统计用户在线天数

发布时间:2021-05-21 06:52:14 所属栏目:大数据 来源: https://www.jb51.cc
导读:位运算在redis中非常的方便使用,并且理由利用这个可以实现很多特殊的功能。这也迫使我去研究更多的redis提供的函数,只有研究的多,思路才能够更加开放。今天我就对strings下面的几个函数进行了测试,也收获颇丰。 使用setBit和bitCount可以实现用户活跃天

位运算在redis中非常的方便使用,并且理由利用这个可以实现很多特殊的功能。这也迫使我去研究更多的redis提供的函数,只有研究的多,思路才能够更加开放。今天我就对strings下面的几个函数进行了测试,也收获颇丰。

使用setBit和bitCount可以实现用户活跃天数的统计,大体的思路如下:
我们网站今天第一天上线,某用户taoshihan,今天有访问那么我就记一下,网站第一天,taoshihan访问1;
网站第二天,taoshihan访问1;网站第80天,taoshihan访问1;其余时间没有访问过,那么我们统计得出taoshihan活跃天数为3。

使用代码体现为如下,具体解释可以查看视频:
https://www.bilibili.com/video/av70912075/

//使用setBit和bitCount实现用户在线天数的统计
$redis->set("taoshihan",'@');//@符号的二进制形式为 01000000
$redis->setBit("taoshihan",1,1);
$redis->setBit("taoshihan",2,80,1);
$v=$redis->bitCount("taoshihan");
var_dump($v);//输出3

<?PHP
$redis=new Redis();
$redis->connect('127.0.0.1',6379);

//append-将值附加到键
$redis->set('name','taoshihan');
$redis->append('name',' very good'$v=$redis->get('name'); 
var_dump($v);string(19) "taoshihan very good"

//对字符串二进制位为1的个数进行统计
$redis->bitCount('name');
int(3)

//对多个字符串进行位运算
$redis->set("test1",1)">$redis->set("test2",'b'$redis->bitop("OR",'restkey','test1','test2'$redis->get('restkey'string(1) "c"

//更改字符串的指定位
$redis->set("name",'a');a的二进制形式 01100001
$redis->setBit("name",3,1);从左到右数,从0开始
$redis->get("name"输出q,二进制为01110001

//使用setBit和bitCount实现用户在线天数的统计
$redis->set("taoshihan",'@');@符号的二进制形式为 01000000
$redis->setBit("taoshihan",1$redis->bitCount("taoshihan"输出3

(编辑:北几岛)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读