【校招VIP】Redis五种基本数据类型(超级详细)

10月27日 收藏 0 评论 0 java开发

【校招VIP】Redis五种基本数据类型(超级详细)

转载声明:文章来源https://blog.csdn.net/weixin_51293984/article/details/126755789

简介

Redis作为一个轻量级键值数据库,跟之前上课时学的关系型数据库不同,使用Redis进行数据存储服务时,我们不需要去担心存储模式和表的结构,不需要用SQL语句来操作里面的数据,而是直接使用API操作数据结构。Redis支持的数据结构有字符串类型、列表类型、哈希类型和集合类型等,接下来的日志就总结下以前学习Redis的过程,从基本Redis数据类型开始。

一、String类型常见命令

set 添加或者修改已经存在的一个String类型的键值对

get 根据key获取String类型的value

mset 批量添加多个String类型的键值对

mget 根据多个key获取多个String类型的value

incr 让一个整数的key自增1

incrby 让一个整数的key自增并指定增长

incrbyfloat 让一个浮点型的数字自增并指定增长

decr 让一个整数的key自减1

decrby 让一个整数的key自减并指定减指定值

setnx 添加一个String类型的键值对,前提是这个key不存在,否则不执行

setex 添加一个String类型的键值对,并且指定有效时间

getset key_name value 返回给定 key 的旧值。 当 key 没有旧值时,即 key 不存在时,返回 nil

getbit key_name offset 字符串值指定偏移量上的位(bit) (二进制)

setbit key_name offset 对 key 所储存的字符串值,设置或清除指定偏移量上的位(bit)

setrange key_name offset value 用指定的字符串覆盖给定 key 所储存的字符串值,覆盖的位置从偏移量 offset 开始

strlen key 返回key所存储的字符串的长度

psetex key milliseconds value 以毫秒为单位设置key的生存时间

append key_name new_values 指定的 key 追加值(如果 key 已经存在并且是一个字符串, APPEND 命令将 value 追加到 key 原来的值的末尾。如果 key 不存在, APPEND 就简单地将给定 key 设为 value ,就像执行 SET key value 一样。)

二、Hash类型的常见命令

hset key field value 添加或者修改哈市类型key的field的值

hget key field 获取一个hsash类型的key的field值

hmset 批量添加多个hash类型key的field的值

hmget 批量获取多个hash类型key的field的值

hgetall 获取一个hash类型的key中的所有的field和value

hkeys 获取一个hash类型的key中的所有的field

hvals 获取一个hash类型的key中的所有的value

hincrby 让一个hash类型的key的字段值自增并指定步长

hsetnx 添加一个hash类型的key的field值,前提是这个field不存在,否则不执行

hlen key 获取哈希表中字段的数量

hexists 查看key中指定的字段是否存在

hdel key field2[field] 删除一个或者多个字段

hincrby key field increment 为字段加上指定的增量值

hincrbyfloat key field increment 为字段加上制定的曾量值

三、List类型的常见命令

Lpush key element 向列表左侧插入一个或者多个元素

Lpop key 移除并返回列表左侧的第一个元素,没有则返回nil

Rpush key element 向列表右侧插入一个或多个元素

Rpop key 移除并返回列表右侧的第一个元素

Lrange key star end 返回一段角标范围内的所有元素

BLpop 和 BRpop 与Lpop 和 Rpop 了类似 只不过在没有元素时等待指定时间,而不是直接返回nil

Lindex key index 通过索引获取列表中的元素。你也可以使用负数下标,以 -1 表示列表的最后一个元素, -2 表示列表的倒数第二个元素,以此类推

Linsert key before|after pivot value 用于在列表的元素前或者后插入元素。 当指定元素不存在于列表中时,不执行任何操作。 当列表不存在时,被视为空列表,不执行任何操作。 如果 key 不是列表类型,返回一个错误

Llen key_name 用于返回列表的长度。 如果列表 key 不存在,则 key 被解释为一个空列表,返回 0 。 如果 key 不是列表类型,返回一个错误lLL

Lpushx key_name value 将一个或多个值插入到已存在的列表头部,列表不存在时操作无效

Lrem key_name value 根据参数 COUNT 的值,移除列表中与参数 VALUE 相等的元素 (
count > 0 : 从表头开始向表尾搜索,移除与 VALUE 相等的元素,数量为 COUNT
count < 0 : 从表尾开始向表头搜索,移除与 VALUE 相等的元素,数量为 COUNT 的绝对值
count = 0 : 移除表中所有与 VALUE 相等的值 )

Lset key_name index value 通过索引来设置元素的值。当索引参数超出范围,或对一个空列表进行 LSET 时,返回一个错误

Ltrim key_name start stop 让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除。下标 0 表示列表的第一个元素,以 1 表示列表的第二个元素,以此类推。 你也可以使用负数下标,以 -1 表示列表的最后一个元素, -2 表示列表的倒数第二个元素,以此类推

PpopLpush source destination 用于移除列表的最后一个元素,并将该元素添加到另一个列表并返回

Rpushx key_name value 将一个或多个值插入到已存在的列表尾部(最右边)。如果列表不存在,操作无效

四、Set类型常见命令

sadd key member 向set中添加一个或多个元素

srem key member 移除set中的指定元素

scard key 返回set中元素的个数

sismember key member 判断一个元素是否存在于set中

smembers 获取set中的所有元素

sinter key1 key2 求key1与key2的交集

sdiff key1 key2 求key1与key2的差集

sunion key1 kwy2 求key1与key2的并集

五、SortedSet类型常见命令

zadd key score member 添加一个或多个元素到sorted set 如果已经存在则更新其score值

zrem key member 删除sorted set 中的一个指定元素

zscore key member 获取sorted set 中的指定元素的score值

zrank key member 获取sorted set 中的指定元素的排名

zcard key 获取sorted set中的元素个数

zcount key min max 统计score值在给定范围内的所有元素的个数

zincrby key increment member 让sorted set 中的制定元素自增,步长为指定的increment值

zrange key min max 按照score排序后 获取指定排名范围内的元素

zrangebyscore key min max 按照score排序后 获取指定score排名范围内的元素

zdiff zinter zunion 求差集 交集 并集

注意:所有的排名默认否是升序,如果要降序则在命令的最后面加 rev 即可


C 0条回复 评论

帖子还没人回复快来抢沙发