3.Redis五大数据类型

2021/7/8 19:12:57

本文主要是介绍3.Redis五大数据类型,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

0.1String

        它能存储任何形式的字符串,包括二进制数据,序列化后的数据,JSON化的对象甚至是一张图片。最大521M。

set key value:将字符串值value设置到key中会覆盖原来的值
incr key:将key中存储的数字值加1,如果key不存在,则key的值先被初始化为0在执行incr操作(只能对数字类型的数据操作)
decr key:将key中存储的数字值减1,如果key不存在,则key的值先被初始化为0在执行incr操作(只能对数字类型的数据操作)
append key value:如果key存在,则将value追加到key原来旧值的末尾,如果key不存在,则将key设置值为value,返回总长度
strlen key:返回key所存储的字符串值的长度,如果key存在,返回值长度;key不存在,返回0
getrange key start end:获取key中字符串值从start开始到end结束的子字符串,包括start和end,负数表示从字符串的末尾开,-1表示最后一个字符
    从左往右:从0开始;从右往左:从-1开始
    返回值:截取的子字符串
setrange key offset value:用value覆盖(替换)key的存储的值从offset开始,不存在的key做空白字符串,返回修改后的的字符串的长度
mset key value [key value...]:同时设置一个或多个key-value对
mget key[key...]:获取所有(一个或多个)给定key的值
    返回值:包括所有的key的列表

 0.2Hash

        是一个string类型的field和value的映射表,hash特别适合用于存储对象。

hset hash表的key field value:将哈希表key中的域field的值设为value,如果key不存在,则新建hash表,进行赋值,如果有field,则覆盖值
    如果field是hash表中infield,且设置成功,返回1
    如果field已经存在,旧值覆盖新值,返回0
hget key foeld:获取哈希表key中给定域field的值
    返回field域的值,如果key不存在或者field不存在返回nil
hmset key field value [field value...]:同时将多个field-value(域-值)设置到哈希表key中,此命令会覆盖已经存在的field,hash表key不存在,会创建空的hash表,执行hmset
    设置成功返回ok,如果失败返回一个错误
hmget key field [field...]:获取哈希表key中一个或多个给定域的值
    以列表形式返回hash中域和域的值,key不存在,返回空hash
hgetall key:获取哈希表key中所有的域和值
hdel key field [field...]:删除哈希表key中的一个或多个指定域field,不存在field直接忽略
    成功删除的field的数量
hkeys key:查看哈希表key中的所有field域
    包含所有field的列表,key不存在返回空列表
hvals key:返回哈希表中所有域的值
    包含哈希表所有域值的列表,key不存在返回空列表
hexists key field:查看哈希表key中,给定域field是否存在
    如果field存在,返回1,其他返回0

0.3List

        简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)。

lpush key value [value...]:将一个或多个值value插入到列表key的表头(最左边),从左边开始加入值,从左到右的顺序依次插入到表头
    返回值:数字,新列表的长度
rpush key value [value...]:将一个或多个值value插入到列表key的表尾(最右边),各个value值按从左到右的顺序依次插入到表尾
    返回值:数字,新列表的长度
lrange key start stop:获取列表key中指定区间内的元素,0表示列表的第一个元素,以1表示列表的第二个元素;start,stop是列表的下标值,也可以是负数的下标,-1表示列表的最后一个元素,-2表示列表的倒数第二个元素,以此类推。start,stop超出列表的范围不会出现错误
    返回值:指定区间的列表
lindex key index:获取列表key中下标为指定index的元素,列表元素不删除,只是查询。0表示表的第一个元素,以1表示列表的第二个元素;start,stop是列表的下标值,也可以为负数的下标,-1表示列表的最后一个元素,-2表示列表的倒数第二个元素,以此类推
    返回值:指定下标的元素;index不再列表范围内,返回nil
llen key:获取列表key的长度
    返回值:数值,列表的长度;key不存在返回0
lrem key count value:根据参数count的值,移除列表中与参数value相等的元素,count>0,从列表的左侧向右开始移除count个元素;count<0从列表的尾部开始移除count个元素;count=0移除表中所有与value相等的值
    返回值:数值,移除的元素个数
lset key index value:将列表key下标为index的元素的值设置为value
    返回值:设置成功,返回ok;key不存在或者index超出范围返回错误信息
linsert key BEFORE|ALFTER pivot value:将值value插入到列表key当中位于值pivot之前(BEFORE)或之后(ALFTER)的位置。key不存在,pivot不在列表中,不执行任何操作
    返回值:命令执行成功,返回新列表的长度。没有找到pivot返回-1,key不存在返回0

0.4无序集合Set

        string类型的无序集合,集合成员是唯一的,即集合中不能出现重复的数据。

sadd key member[member...]:将一个或多个member元素加入到集合key当中,已经存在于集合的member元素将被忽略,不会再加入
    返回值:加入到集合的新元素的个数。不包括被忽略的元素
smembers key:获取集合key中的所有成员元素,不存在的key视为空集合
sismember key member:判断member元素是否是集合key的成员
    返回值:有,返回1;其他返回0
scard key:获取集合里面的元素个数
    返回值:数字,key的元素个数。其他情况返回0
srem key member [menber...]:删除集合key中的一个或多个memeber元素,不存在的元素被忽略
    返回值:数字,成功删除的元素个数,不包括被忽略的元素
srandmember key [count]:只提供key,随机返回集合中一个元素,元素不删除,依然在集合中;提供了count时,count为正数,返回包含count个数元素的集合,集合元素各不相同。count是负数,返回一个count绝对值的长度的集合,集合中元素可能会重复多次
    返回值:一个元素;多个元素
spop key [count]:随机从集合中删除一个元素,count是删除的元素个数
    返回值:被删除的元素,key不存在或空集合返回nil

0.5.有序集合Zset

        和set一样也是string类型元素的集合,且不允许重复的成员。不同的是zset的每个元素都会关联一个分数(分数可以重复),redis通过分数来为集合中的成员进行从小到大的排序。

zadd key score member [score member...]:将一个或多个member元素及其score值加入到有序集合key中,如果member存在于集合中,则更新值,score可以是整数或浮点数
    返回值:数字,新添加的元素个数
zrange key start stop [WITHSCORES]:查询有序集合,指定区间之内的元素。集合成员按score值从小到大来排序。start,stop都是从0开始。0是第一个元素,1是第二个元素,依次类推。以-1表示最后一个成员,-2表示倒数第二个成员。WITHSCORES选项让score和value一同返回
    返回值:自定义区间的成员集合
zrevrange key start stop [WITHSCORES]:返回有序集合key中,指定区间内的成员。其中成员的位置按score值递减(从大到小)
    返回值:自定义区间的成员集合
zrem key member [member...]:删除有序集合key中的一个或多个成员,不存在的成员被忽略
    返回值:被成功删除的成员数量,不包括被忽略的成员。
zcard key:获取有序集合key的元素成员的个数
    返回值:key存在返回集合元素的个数,key不存在,返回0
zrangebyscore key min max [WITHSCORES] [LIMIT offset count]:获取有序集合key中,所有score值介于min和max之间(包括min和max)的成员,有序集合是按递增(从小到大)排序
    min,max是包括在内,使用符号(表示不包括。min,max可以使用-inf,+inf表示最大和最小
    limit用来限制返回结果的数量和区间。
    withscores显示score和value
    返回值:指定区间的集合数据
zrevrangebyscore max min [WITHSCORES] [LIMIT offset count]:返回有序集合key中,score值介于max    和min之间(默认包括等于max或min)的所有的成员。有序集合按score值递减(从小到大)的次序排列。其他同zrangebyscore
zcount key min max:返回有序集合key中,score值在min和max之间(默认包括score值等于min或max)的成员的数量


这篇关于3.Redis五大数据类型的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程