Redis系列——Redis基本数据类型之string

Redis基本数据类型

redis是以k-v结构来存储数据的,key的类型只有string类型,我们平常所说的数据类型一般是指value的类型,下面我们将介绍5种基本数据类型,至于HyperLoglog、Pub/Sub等数据类型,后面会详细介绍。

一、string类型

redis存储的value类型为string类型。废话不多说,先看string类型的基本命令。string类型常用命令一般有 set、get、strlen等。下面将详细介绍每种命令的用法。
在客户端输入 help @string 可以查看string类型下的所有命令。
在这里插入图片描述

1.set

在redis客户端敲下set命令,提示如下图。
在这里插入图片描述
其中key、value不必多说,
[EX seconds]表示设置key以秒为单位的过期时间;
[PX milliseconds]表示设置key以毫秒为单位的过期时间;
[NX]表示key不存在则设置成功,存在则设置不成功,相当于setnx(set if not exist)命令;
[XX]则是相反,表示只有存在才能操作,它只能用于更新。
在这里插入图片描述设置key1的value为redis1,10s后过期,如果存在则设置失败,不存在则设置成功。

2.mset

set是操作单个key,redis还提供了mset命令,一次性设置多个key
在这里插入图片描述
例如一次性设置key1,key2 的值为redis1,redis2
在这里插入图片描述

3.get 、mget命令相对简单,就不详细讲了。

4.strlen 获取字段长度

在这里插入图片描述

5.decr和decrby

6.incr和incrby

7.bitmap(位图)

help @string ,我们发现有一些命令后面跟着bit,这些是跟bitmap有关的一些命令,先介绍下什么是bitmap,然后在介绍下bitmap的一些命令以及一些常见用法。

bitmap是以二进制位作为存储单位的,每个字节有8个二进制位,每位值为0或者1,第一位的索引为0,后面递增。

bitmap只看概念可能有点懵,但是如果说几个用处,大概就会恍然大悟。

一个比较简单的用法就是统计用户日活,即每天有多少用户登陆。每个用户都有个userId,只要登陆,就设置为1,不管一个用户登陆多少次,他的值都是1,不会重复统计。最后统计有多少个1就是当天有多少用户登陆。

在这里插入图片描述

下面介绍每个命令的用法

7.1 setbit

如图,可以设置指定偏移量的key 值,要么0,要么1

在这里插入图片描述

7.2 getbit

获取指定偏移量位置的值

在这里插入图片描述

7.3 bitcount

统计数量为1的个数

在这里插入图片描述

7.4 bitop

这个命令就比较有意思了,可以对多个key进行与或非异或运算。

在这里插入图片描述

这个可以用在统计一段时间有多少用户登陆。

以每天的日期作为key,如果要统计近十四天的登陆用户,可以对这十四天的key进行异或运算,最后得到进十四天登陆的用户数据。

©️2020 CSDN 皮肤主题: 1024 设计师:上身试试 返回首页