redis:string类型

发布时间 2023-08-17 15:21:13作者: ShineLe

学习自:Redis 的五种数据类型及其底层原理_redis的五种数据类型_ZJE_ANDY的博客-CSDN博客

Redis 的五种基本数据类型_redis的五种数据类型_喵先森爱吃鱼的博客-CSDN博客

Redis是K-V结构的数据库。

Redis有5种常用数据类型(这里的数据类型,都是针对K-V对中的V的类型)

  • String
  • List
  • Set
  • Hash(就是Python中的dict,{name:"Jack",age:21})
  • Zset(有序集合)

1、String

String是Redis最基本的数据类型,一个Key对应一个Value。Redis的String可以表示任何数据,例如jpg图像或者序列化的对象,String最大能存储512MB

根据字符串格式的不同,又可以分为3类:

  • string:普通字符串
  • int:整数类型,可以做自增自减操作
  • float:浮点类型,可以做自增自减操作

不管哪种格式,在底层都是以字节数组的形式存储,只是编码方式不同。

值类型

string hello world
int 10
float 92.5

 

命令(不区分大小写)

命令

用法

说明

append append K V

不存在K时,先创建V

存在K时,在V后追加

strlen strlen K K对应的V的长度
set set K V 添加一个K-V对
get get K 获取K对应的V
getset getset K V 获取K的原V,并将其设置为新V
mset mset K1 V1 K2 V2 一次增加多个K-V
mget mget K1 K2 ... 一次获取多个K的V
incr incr K K对应的V(整型)自增1
incrby incrby K n K对应的V(整型)自增n
incrbyfloat incrbyfloat K n K对应的V(浮点)自增n
decr decr K 自减1
decrby decrby  K n 自减n
sertange setrange K start V 从start开始,用新V替换原V的子串
getrange getrange K start end 取K对应的V的子串(start与end可以是负数,-1表示最后一个字符,-2代表第二个……)
setex setex K t V 设置过期时间t秒,过期时间前K的值为V,超过t后K失效
psetex psetex K t V 设置过期时间t毫秒,过期时间前K的值为V,超过t后K失效

strlen:计算长度

append:在V后追加,如果K-V不存在,则相当于新建

decr:自减,如果K不存在则V置0

decrby:指定步长的自减

getrange:获取子串

getset:获取K的原V,设置新V

 

incr、incrby:整型自增

decr、decrby:整型自减

incrbyfloat:浮点自增

mget、mset:一次存取多个

setex:设置过期时间(秒)

psetex:设置过期时间(毫秒)

setrange:范围替换

如果K的原V长度小于偏移量,则不足的地方用0补齐