Redis数据类型介绍
redis当中一共支持五种数据类型,分别是string字符串类型,list列表类型,集合set类型,hash表类型以及有序集合zset类型,通过这五种不同的数据类型,我们可以实现各种不同的功能,也可以应用与各种不同的场景,接下来我们来看看五种数据类型的操作语法
Redis类型操作
1.Redis多string类型操作
CRUD | 功能 | 示例 | 执行的结果 |
增 |
添加字符串 |
set hello world |
|
设置多个KV |
mset AA AAA BB BBB CC CCC |
| |
设置过期时间 |
setex hello1 5 word1 |
| |
key不存在时设置 |
setnx hello2 word22 |
| |
查 |
查询字符串 |
get hello |
|
查询部分 |
getrange hello 0 2 |
| |
查询多key |
mget hello hello2 hello3 | ![]() | |
查询字符串长度 |
strlen hello |
| |
改 |
修改字符串 |
set hello world2 |
|
追加 |
append hello 333 |
| |
删 |
删除字符串 |
del hello |
|
其他 |
现获取后设置 |
getset hello word222 |
|
替换 |
setrange hello22 2 AA |
| |
累加1 |
incr number |
| |
累加N |
incrby number 10 |
| |
累加小数 |
incrbyfloat number 0.5 | ![]() | |
减一(只对integer有效) |
decr number |
| |
减N |
decrby number 3 |
|
2.Reids对hash列表的操作
CRUD |
功能 |
示例 |
执行的结果 |
增 |
添加一个hash列表 |
hset hkey1 name zhangsan |
|
不存在时添加 |
hsetnx hkey2 name lisi |
| |
一次设置多个值 |
hmset hkey3 name wangwu age 20 sex 1 |
| |
查 |
查看数据 |
hget hkey1 name |
|
查看是否存在 |
hexists hkey3 name |
| |
查询key下所有值 |
hgetall hkey3 |
| |
查询key内所有的字段 |
hkeys hkey3 |
| |
查询key的数据量 |
hlen hkey3 |
| |
查询某一key内多字段的值 |
hmget hkey3 name age |
| |
改 |
修改数据 |
hset hkey1 name zhangsan2 |
|
删 |
删除key中的数据 |
hdel hkey3 sex |
|
其他 |
数据累加(1-N) |
hincrby hkey number1 10 |
|
累加小数 |
hincrbyfloat hkey number1 0.5 |
|
3.Redis对list列表的操作
CRUD |
功能 |
示例 |
执行的结果 |
增 |
添加一个或多个值到列表 |
lpush lkey1 zhangsan lisi |
|
将一个值插入到已存在的列表头部 |
lpushx lkey1 wangwuxxx |
| |
向已经存在的列表中插入数据(右边插入) |
rpush lkey1 AA BB |
| |
将一个值插入到已存在的列表尾部 |
rpushx lkey1 ccc |
| |
在某一数据之前插入 |
linsert lkey1 before lisi lisibefore |
| |
在某一数据之后插入 |
linsert lkey1 after lisi lisiafter |
| |
查 |
查询list中所有数据 (-1表示所有) |
lrange lkey1 0 -1 |
|
通过索引查询数据 |
lindex lkey1 0 |
| |
查询列表长度 |
llen lkey1 |
| |
改 |
通过索引修改数据 |
lset lkey1 5 eee |
|
删
|
数据修剪(保留) |
ltrim lkey1 4 6 |
|
删除指定key数据 |
del lkey1 |
| |
其他 |
移出并获取列表的第一个元素 |
lpop lkey1 |
|
移出并获取列表的最后一个元素 |
rpop lkey1 |
| |
移除列表的最后一个元素,并将该元素添加到另一个列表并返回 |
rpoplpush lkey1 lkey2 |
|
4.Redis操作set集合
CRUD |
功能 |
示例 |
执行结果 |
增 |
向集合添加一个或多个数据 |
sadd skey1 zhangsan lisi sadd skey2 wangwu lisi |
|
查 |
查询集合所有数据 |
smembers skey1 |
|
查询集合内数据总量 |
scard skey1 |
| |
查询两个集合的差值 |
sdiff skey1 skey2 |
| |
查询差值并将结果写入新集合 |
sdiffstore skey3 skey1 skey2 |
| |
查询两个集合交集 |
sinter skey1 skey2 |
| |
查询两个集合交集结果写入新集合 |
sinterstore skey4 skey1 skey2 |
| |
查询某一数据是否包含在集合中 |
sismember skey1 zhangsan |
| |
返回集合内随机的N个数据 |
srandmember skey2 2 |
| |
查询并集 |
sunion skey1 skey2 |
| |
查询并集结果写入新集合 |
sunionstore skeyn skey1 skey2 |
| |
改 |
将数据在一个集合移动到另一个集合 |
smove skey1 skey2 zhangsan |
|
删 |
移除结果中的某个数据 |
srem skey2 zhangsan |
|
5.Redis对key操作
CRUD |
功能 |
示例 |
执行的结果 |
查 |
查询所有符合模式的key |
Keys * |
|
查询剩余过期时间(毫秒) |
pttl hkey1 |
| |
查询剩余过期时间(秒) |
ttl hkey1 |
| |
在数据库中随机回返一个key |
randomkey |
| |
查询key对应数据的类型 |
Type hkey1 |
| |
改 |
对key进行重命名 |
Rename hkey1 hkey10 |
|
删 |
删除存在的key |
del BB |
|
其他 |
判断key是否存在 |
exists AA |
|
为key 设置超时时间 |
expire AA 10 |
| |
为key 设置超时时间(毫秒) |
pexpire CC 10000 |
| |
移除key的过期时间 |
persist hkey |
|
好在这里就分享到这里了,喜欢的点赞加关注