Redis五大类型之String操作(string、number、bit)

本文详细介绍了Redis中的String类型,包括插入、获取、追加等基本操作,以及在秒杀场景下的int类型使用和bit操作,如设置二进制位、统计在线人数等,展示了Redis在分布式锁和计数上的应用。
摘要由CSDN通过智能技术生成

查看和连接redis命令行
redis-cli --help

查看所有string类型的操作

help @string

string类型分为三种

1.string
2.number
3.bit

应用场景

  1. 利用bitcount统计某一天在线人数
  2. 秒杀 incr
  3. 分布式锁setnx

一、string 类型
(1)插入数据

set k1 aa  

(2) 如果k1不存在,则插入数据

set k1 aa nx
setnx k1 aa

(3)获取数据

get k1

(4)追加数据

append k1 c

(5) 获取区间数据 (坐标从左到右: 0,1,2 ; 从右到左: -1,-2,-3)

127.0.0.1:6379[6]> set k1 abcd
OK
127.0.0.1:6379[6]> GETRANGE k1 0 1
"ab"
127.0.0.1:6379[6]> GETRANGE k1 -2 -1
"cd"

(6)set a value and return old value

127.0.0.1:6379[6]> get k1
"abcd"
127.0.0.1:6379[6]> getset k1 aa
"abcd"
127.0.0.1:6379[6]> get k1
"aa"

(7)批量写入和批量读取

mset k1 a1 k2 a2
mget k1 k1

(8)从某个坐标开始覆盖值
在这里插入图片描述

(9)查看value 类型
在这里插入图片描述

二、int 类型 (秒杀)

(1)加int数据-类型为int

127.0.0.1:6379[6]> INCR k1 
(integer) 1
127.0.0.1:6379[6]> GET k1
"1"
127.0.0.1:6379[6]> OBJECT encoding k1
"int"

(2)减操作

DECR k1 

(3)获取长度 (value是采取的字节存储)

127.0.0.1:6379[6]> get k1
"100"
127.0.0.1:6379[6]> STRLEN k1
(integer) 3

三、bit操作
(1)设置某一位的二进制值

127.0.0.1:6379[6]> SETBIT k1 1 1
(integer) 0
127.0.0.1:6379[6]> get k1
"@"

这儿是设置第1位为1即0100 0000,对应的是ascll码

(2)找到位1是第一次出现的位置

127.0.0.1:6379[6]> setbit k1 2 1
(integer) 0
127.0.0.1:6379[6]> bitpos k1 1 0 0 
(integer) 2

0010 0000 即第一次出现1是在第2(从0开始算)

(3)bitcount-统计在第0个字节出现1的个数

bitcount k1 0 0 

(4) bitop 两个value字节操作 (统计活跃人数)

127.0.0.1:6379[6]> SETBIT 20200301 1 1
(integer) 0
127.0.0.1:6379[6]> SETBIT 20200301 7 1
(integer) 0
127.0.0.1:6379[6]> SETBIT 20200304 1 1
(integer) 0
127.0.0.1:6379[6]> SETBIT 20200304 2 1
(integer) 0
127.0.0.1:6379[6]> BITOP AND ANDKEY 20200301 20200304
(integer) 1
127.0.0.1:6379[6]> bitcount ANDKEY
(integer) 1
127.0.0.1:6379[6]> bitcount ANDKEY 0 0 
(integer) 1
127.0.0.1:6379[6]> BITOP OR ORKEY 20200301 20200304
(integer) 1
127.0.0.1:6379[6]> BITCOUNT ORKEY 0 0 
(integer) 3
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值