Redis基本数据类型String常用操作命令是什么

1. String数据类型简介

String是Redis常用的数据类型之一,是Redis最基础,也是最简单的数据类型。这种类型的值最大可达512MB。

1.1 基础命令

主要包括以下几种命令:

SET:设置指定key的值为String类型。如果key存在,则覆盖原来的值。

GET:获取指定key的值。

DEL:删除指定key的值。

SET key value

GET key

DEL key

2. String数据类型常用操作命令

2.1 INCR/DECR操作

使用INCR可以将key对应的value的值增加1。如果key不存在,则会新建一个值为0的key并进行INCR操作。DECR与INCR操作相反。

SET count 10

INCR count

# 返回结果为11

DECR count

# 返回结果为10

注意:若原始数值不为整数,则不能进行这两种操作,否则会报错。

2.2 APPEND操作

将指定字符串追加到原来key对应的字符串上(如果key不存在,则新建一个值为该字符串的key)。

SET mykey "Hello"

APPEND mykey " World!"

# 返回结果为"Hello World!"

注意:如果key本身的值类型不是String,那么该操作会返回错误。

2.3 STRLEN操作

获取指定key对应的字符串长度。

SET greeting "Hello World!"

STRLEN greeting

# 返回结果为12

2.4 GETRANGE操作

获取指定key对应的字符串的子字符串。若start大于end,则返回空字符串。

SET greeting "Hello, World!"

GETRANGE greeting 0 4

# 返回结果为"Hello"

2.5 SETRANGE操作

将指定字符串替换成给定值,并返回替换后的字符串长度。若start大于原始字符串长度,则会在原始字符串后面填充'\0'。

SET mykey "Hello World!"

SETRANGE mykey 6 "Redis"

# 返回结果为长度13(替换后的字符串长度为13)

GET mykey

# 返回结果为"Hello Redis"

注意:该操作的index参数是起始位置,而不是长度。

2.6 SETEX/GETSET操作

SETEX命令可以设置指定key的值,并设定一定可以。

SETEX mykey 10 "Hello"

# 设置mykey的值为"Hello",并设定10秒后过期。

GETSET命令可以将给定值设置为指定key的value,并返回旧的值。

SET mykey "Hello"

GETSET mykey "Redis"

# 返回结果为"Hello",同时mykey的值被设置为"Redis"

2.7 MSET/MGET操作

MSET命令可以同时设置多个key-value对。

MSET key1 "Hello" key2 "World"

# 同时设置key1为"Hello",key2为"World"

MGET命令可以取出多个key对应的value。

SET key1 "Hello"

SET key2 "World"

MGET key1 key2

# 返回结果为["Hello", "World"]

2.8 SETNX操作

向指定key新增一个值,如果该key已经存在,则不做任何操作。

SETNX key value

# 如果key不存在,则新增一个"key: value"值

2.9 MSETNX操作

向Redis中新增多个key-value对,如果其中有一个key已经存在,则整个操作都不会成功。

MSETNX key1 "Hello" key2 "World"

# 如果key1和key2都不存在,则新增key1:"Hello",key2:"World"

2.10 STRCMP操作

比较两个指定key对应的字符串是否相等。若相等,则返回0,否则返回1。

SET key1 "Hello"

SET key2 "Hello"

STRCMP key1 key2

# 返回结果为0

2.11 GETBIT/SETBIT操作

GETBIT命令用于获取给定偏移量上的比特位。SETBIT命令用于设置给定偏移量上的比特位的值。如果指定的偏移量超过了字符串value的长度,则会进行自动填充0的操作。

SET mykey "Hello"

GETBIT mykey 1

# 返回结果为1("H"的二进制值为01001000,第二位为1)

SETBIT mykey 1 0

# 将第二位改为0

2.12 BITCOUNT/BITOP操作

BITCOUNT命令用于计算字符串中二进制值为1的个数。

SET mykey "Hello"

BITCOUNT mykey

# 返回结果为10("H"的二进制值为01001000,"e"的二进制值为01100101...)

BITOP命令用于对一个或多个key进行按位运算,并将结果存储在新的key中。

SET key1 "Hello"

SET key2 "World"

BITOP AND mydest key1 key2

# 对key1和key2的每一位进行AND运算,并将结果存储在mydest中

3. 总结

String类型是Redis中最基础、最常用的数据类型之一。它支持的功能也非常丰富,如:字符串拼接、自增等功能,也支持高级的操作指令。

文章中列举了String类型的常用功能操作。作为开发者,不仅需要了解这些命令的使用,更需要了解这些命令的底层实现,以更好地了解Redis的内部工作原理。通过对Redis的深入理解,可以有利于我们更好地实现项目中的各种需求。

数据库标签