当前位置: 首页 > news >正文

如何用discuz做网站抖音代运营协议模板

如何用discuz做网站,抖音代运营协议模板,字体模板素材免费下载网站,vk网站做婚介目录 基本介绍 基本命令 Setbit Getbit BITCOUNT 应用场景 统计当日活跃用户 用户签到 bitmap - Redis布隆过滤器 (应对缓存穿透问题) 基本介绍 Redis 的位图(bitmap)是由多个二进制位组成的数组,只有两…

目录

基本介绍

基本命令 

Setbit 

Getbit 

BITCOUNT 

应用场景

统计当日活跃用户

用户签到

bitmap - Redis布隆过滤器 (应对缓存穿透问题)


基本介绍

Redis 的位图(bitmap)是由多个二进制位组成的数组,只有两种状态,0和1, 数组中的每个二进制位都有与之对应的偏移量(从 0 开始),通过这些偏移量可以对位图中指定的一个或多个二进制位进行操作。

可以把 Bitmap 想象成一个以位为单位的数组,数组的每个单元只能存储 0 和 1,数组的下标在 Bitmap 中叫做偏移量 offset,bitmap默认值都为0.

 BitMap底层实际上使用字符串来存储,由于 Redis 中字符串的最大长度是 512 MB字节,所以 BitMap 的偏移量 offset 值也是有上限的,其最大值是:8 * 1024 * 1024 * 512 = 2^32(4G)。

BitMap 的基本原理就是用一个 bit 来标记某个元素对应的 Value,而 Key 即是该元素。由于采用一 个bit 来存储一个数据,因此可以大大的节省空间。

计算机分配给内存的最小单元是bit,1Byte=8bit, 1个整数类型为4Byte=32bit。

基本命令 

常用命令作用
1、getbit key offset用于获取Redis中指定key对应的值,中对应offset的bit
2、setbit key key offset value用于修改指定key对应的值,中对应offset的bit
3、 bitcount key [start end]用于统计字符串被设置为1的bit数
4、bitop and/or/xor/not destkey key [key …]用于对多个key求逻辑与/逻辑或/逻辑异或/逻辑非

Setbit 

Redis Setbit 命令用于对 key 所储存的字符串值,设置或清除指定偏移量上的位(bit)。

redis> SETBIT bit 10086 1
(integer) 0redis> GETBIT bit 10086
(integer) 1redis> GETBIT bit 100   # bit 默认被初始化为 0
(integer) 0

返回值:指定偏移量原来储存的位。

Getbit 

Redis Getbit 命令用于对 key 所储存的字符串值,获取指定偏移量上的位(bit)。

# 对不存在的 key 或者不存在的 offset 进行 GETBIT, 返回 0redis> EXISTS bit
(integer) 0redis> GETBIT bit 10086
(integer) 0# 对已存在的 offset 进行 GETBITredis> SETBIT bit 10086 1
(integer) 0redis> GETBIT bit

返回值:字符串值指定偏移量上的位(bit)。当偏移量 OFFSET 比字符串值的长度大,或者 key 不存在时,返回 0 。

BITCOUNT 

统计指定位区间上,值为 1 的个数。语法格式如下:

BITCOUNT key [start end]

127.0.0.1:6379> BITCOUNT user:1(integer) 8

只需指定 start 和 end 参数,即可仅对特定字节进行计数。start 和 end 参数和 GETRANGE 命令的参数类似,都可以使用负数,比如 -1 表示倒数第一个位, -2 表示倒数第二个位。. 

应用场景

统计当日活跃用户

每日活跃统计创建一个bitmap键,当用户活跃了根据用户id的偏移量来设置对应的位为1

用户签到

每个用户创建一个位图的键,以某一天为基础,之后的天数距离这一天的天数为偏移量,如果用户点击了签到,则设置对用的偏移位为1。

bitmap - Redis布隆过滤器 (应对缓存穿透问题)

举例:比如爬虫服务器在爬取电商网站的商品信息时,首先经过缓存,如果缓存查不到,再去数据库获取信息,因为爬虫的效率很高,且sku很有可能是不存在或者已下架的,就会造成缓存穿透,大量请求被发送到数据库,导致服务器受到影响。

此时,可以在缓存层之前,添加一个布隆过滤器,布隆 过滤器看作是一个bitmap,sku作为offset值,如果商品真实存在,bit值设为1。首先将商品数据初始化,当有请求时,通过getbit判断sku是否有效。如果布隆过滤器认为商品不存在,就拒绝访问,这样就可以保护存储层。

http://www.yayakq.cn/news/111931/

相关文章:

  • 黑龙江建设网站潍坊住房公积金个人查询入口
  • 做ppt图表的网站网站建设的栏目内容
  • 百度自助网站建设绛县苗木网网站是由谁建设的
  • 知名企业网站大全专门做羽毛球的网站
  • 网站公司图片建设网站需要数据库备份
  • 织梦做的网站打不开网页临沂做网站建设的公司
  • 在小说网站做编辑怎么找承德网站建设流程
  • 建设集团招工信息网站合肥市建设网
  • 高端的培训行业网站开发男女做那种的的视频网站
  • 有哪些专做自然风景图片的网站seo推广和百度推广的区别
  • 怎样保存网站资料做证据网站建设公司工作枯燥吗
  • 可以做mv 的视频网站国外游戏商城网站欣赏
  • 电商网站开发商深圳企业建站招聘
  • 外包做网站多少钱静态网页开发工具
  • 网站建设与管理适合男的还是女的中国视觉设计网站
  • 做网站 设计师很网络零售的优势有哪些
  • 网站邮件发送功能怎么做湖南网站建设kaodezhu
  • 辽宁鞍山建设工程信息网站苏州诗华洛网站建设
  • 义乌网站建设联系方式经典网站建设
  • 网站建设程序开发过程网站系统建设招标文件
  • 网站让百度收录地方网站方案
  • 专门做拼花网站有意义的网站
  • 泾县网站建设2022年小微企业所得税优惠政策
  • 制作网站协议网站怎么建站点
  • 宿迁网站建设与管理网络工程师考试大纲
  • 金华在线制作网站国家域名注册证书有用吗
  • 白酒 网站模板WordPress站点地址填错
  • 校园网站建设论文做酒店网站设计
  • 做网站 多少人vs2013做网站
  • 成都手机网站建设哪家公司好网页设计培训哪家机构好