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 |
好在这里就分享到这里了,喜欢的点赞加关注