• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧
您的位置:首页 > CMS教程 >建站教程 > 简单聊聊Redis中GETBIT和SETBIT

简单聊聊Redis中GETBIT和SETBIT

作者:站长图库 字体:[增加 减小] 来源:互联网

站长图库向大家介绍了Redis中GETBIT,Redis中SETBIT等相关知识,希望对您有所帮助

Redis中的GETBIT和SETBIT

Redis是in-memery的数据库,其优势不言而喻。详细可以阅读一下官网的介绍。https://redis.io

其主要有五种数据类型:strings,lists,sets,hashes。

在学习到strings类型的常见命令的时候,对GETBIT和SETBIT的意义并不是非常了解,所以就搜索了一下相关文章。看到一篇介绍GETBIT和SETBIT的应用的文章,感觉非常强大,记录如下:

我们在登陆某些博客网站或者视频网站的时候,网站往往会记录我们是否阅读了某篇文章,或者是观看了某个视频。

如果用传统的mysql数据库实现,如果用户数量多,文章和视频也多的情况下,那么则会给数据库带来很大的压力。

而用Redis的GETBIT和SETBIT则会简单得多。

我们以视频为例,我们用bitmap来记录用户们是否已经观看了某一个视频,一个视频对应一个bitmap。例如

key:   video:1201value: 000000...0000

key以视频英文名video+冒号+id标记。

value就是一个bitmap。一位(bit)有两种可能,0或者1。0代表未看,1代表已经看过了。

而位置(offset)代表的就是user id。例如第200位就代表user_id为200的用户是否观看过id为1201的视频。

设置

# SETBIT key offset value SETBIT video:1201 200 1# 上面的命令就是设置ID为200的用户,已经看过了ID为1201的视频。

查询

# GETBIT key offsetGETBIT video:1201 200# 上面的命令就是查询ID为200的用户是否观看了ID为1201的视频

当然您也可以一个用户对应一个bitmap,bitmap中的位代表一个视频是否已经被观看。

另外文章中也将到目前非常流行的打卡或者是登陆记录也可以用相似的设计实现。

例如用一个bitmap记录所有用户的登陆情况,bitmap中的一位代表一个用户当天是否有登陆,0代表没登陆,1代表有登陆。

每天生成一个bitmap。

通过统计多天bitmap就可以实现统计活跃用户之类的操作了。



分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 简单聊聊Redis中GETBIT和SETBIT

相关文章

  • CSS如何禁止元素的点击事件
  • 以Laravel-admin为例详解Laravel单用户登录
  • Photoshop制作破碎玻璃字体效果教程
  • PS制作金属字教程
  • ThinkPHP6中env环境变量的使用
  • ThinkPHP3.2接入支付宝支付接口(PC端)
  • 简单聊聊Redis中GETBIT和SETBIT
  • 这几个WordPress插件存在高危漏洞!
  • 织梦DEDECMS扩展插件来防止注册机注册会员和投稿
  • 优化Laravel数据库查询的18个技巧

文章分类

  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧

最近更新的内容

    • Photoshop制作光滑的金色发光字
    • 外链的好坏与网站获得很好的排名无关
    • PHP工厂方法模式的好处是什么
    • Linux怎么安装ffmpeg-php扩展
    • 如何使用微信获取openid的静默及非静默
    • 织梦dedecms网站六大SEO优化技巧分享
    • htaccess怎么关闭php错误
    • 帝国CMS多值字段for循环调用调用方法
    • 深入解析微信小程序页面中实现的保存图片(附代码)
    • Photoshop CS6制作3D文字的片头动画教程

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有