Redis的String类型及bitmap

Redis简介

Redis基础命令之String类型的操作
String类型又分为:字符串,int,bimap。
Redis是二进制安全的,以字节流存储,可能因为客户端编码格式的不同,造成中文字存储的字符长度不同。

OBJECT encoding k1

redis基础库有16个,1-16,默认在第一个库创建key-value。

redis-cli -p 6380 -n 8

-n 代表打开第8个库。

set命令

字符串的操作:
set使用
在这里插入图片描述
nx 当value不存在的时候才能设置成功
xx 只能更新,当value存在的时候才能设置成功

  • mset
mset k3 q k4 w\
  • mget
mget k1 k3

在这里插入图片描述

  • GETRANGE
    正负向索引
GETRANGE k1 6  -1

在这里插入图片描述

  • SETRANGE
SETRANGE k1 1 liwankai

在相应范围内设置值。

  • STRLEN
STRLEN k1 

取k1的value字符串长度。

  • GETSET
GETSET k1 liwnak

在这里插入图片描述
返回旧值,设置新值。


数值的操作:

  • INCR
  • INCRBY k1 22
  • DECR
  • DECR k1 21

bitmap操作
两个应用场景:

  1. 用户
  • setbite
SETBIT k1 1 1

在这里插入图片描述

  • bitcount
    统计字符串被设置为1的bit数.
    在这里插入图片描述
BITCOUNT k1 0 0

在这里插入图片描述

  • bitpos
    在这里插入图片描述
    返回字符串里面第一个被设置为1或者0的bit位。

  • bitop
    在这里插入图片描述
    对一个或多个保存二进制位的字符串 key 进行位元操作,并将结果保存到 destkey 上。

BITOP 命令支持 AND 、 OR 、 NOT 、 XOR 这四种操作中的任意一种参数:

  • BITOP AND destkey srckey1 srckey2 srckey3 … srckeyN ,对一个或多个 key 求逻辑并,并将结果保存到 destkey 。
  • BITOP OR destkey srckey1 srckey2 srckey3 … srckeyN,对一个或多个 key 求逻辑或,并将结果保存到 destkey 。
  • BITOP XOR destkey srckey1 srckey2 srckey3 … srckeyN,对一个或多个 key 求逻辑异或,并将结果保存到 destkey 。
  • BITOP NOT destkey srckey,对给定 key 求逻辑非,并将结果保存到 destkey 。
    除了 NOT 操作之外,其他操作都可以接受一个或多个 key 作为输入。
    执行结果将始终保持到destkey里面。
    在这里插入图片描述

bitmap的实际应用

  1. 有用户系统,统计用户登录天数,且窗口随机
setbit sean 1 1
setbit sean 7 1
setbit sean 364 1
STRLEN sean
BITCOUNT sean -2 -1

在这里插入图片描述
2. 京东就是你们的,618做活动:送礼物
大库备货多少礼物
假设京东有2E用户

僵尸用户
冷热用户/忠诚用户

活跃用户统计!随即窗口
比如说 1号~3号 连续登录要 去重

setbit 20190101   1  1
setbit 20190102   1  1
setbit 20190102   7  1
bitop  or   destkey 20190101  20190102
BITCOUNT  destkey  0 -1 

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值