Redis的5种数据类型及操作数据的命令

一、5中数据类型
1.字符串类型
可以存储任何形式的字符串,包括二进制数据、序列化后的数据,JSON化的对象甚至是一张图片,最大512M.
2.哈希类型hash
hash是一个string类型的field和value的映射表,hash特别适合用于存储对象。
Redis的5种数据类型及操作数据的命令
文章图片

可以通过上述例子来理解,hash类型一个实例为:key是上图中“loginuser”,value是上图中的data,儿“uname”,“times”,“region”即为field,“张三”,“5”,“北京”即为field对应的value.
3.列表类型list
list是字符串列表,list中的数据的顺序即为添加的顺序。
4.集合类型set
set是string类型的无序列表,集合中的成员唯一,不能重复。
【Redis的5种数据类型及操作数据的命令】5.有序集合类型zset(sorted set)
zset和set一样是string类型元素的集合,且不允许重复的成员。不同的是zset的每个元素都会关联一个分数(分数可以重复),redis通过分数为集合中的成员从小到大的排序。
二、操作字符串string类型的常用命令
1.创建:set key value
2.获取值:get key
3.将key中存储的数字值加1:incr
对于不存在的key,初值为0再加1.
Redis的5种数据类型及操作数据的命令
文章图片

4.将key中存储的数字值加1:decr
对于不存在的key,初值为0再减1.
5.将value值追加到key原来旧值的末尾:append key value
如果key不存在,则将key设置为value.返回值为追加字符串后的总长度。
Redis的5种数据类型及操作数据的命令
文章图片

6.获取字符串长度:strlen key
如果key不存在,返回0.
7.取子串:getrange key start end
start和end为数字,负数表示从字符串末尾倒着数-1表示最后一个字符。
Redis的5种数据类型及操作数据的命令
文章图片

Redis的5种数据类型及操作数据的命令
文章图片

8.用value覆盖key存储的值,从offset开始:setrange key offset value
返回值为字符串修改后的长度。
Redis的5种数据类型及操作数据的命令
文章图片

9.一次性创建多个key-value:mset key value [key value...]
返回值为ok。
Redis的5种数据类型及操作数据的命令
文章图片

10.获取多个key的值:mget key [key...]
Redis的5种数据类型及操作数据的命令
文章图片

三、操作hash类型数据的常用命令
1.在哈希表中新增一个field-value:hset key field value
将哈希表key中的域field的值设value,如果key不存在,则新建hash表,再进行赋值;如果有field值,则将其覆盖。
Redis的5种数据类型及操作数据的命令
文章图片
添加修改多个数据:hmset key field1 value1 [field2 value2...]
2.获取数据
hget key field
hgetall key
获取多个field-value:hmget key field1 [field2 ...]
只获取所有字段名(field,不包括value):hkeys key
只获取所有字段值(value,不包括field):hvals key3.删除数据
hdel key field [field]
Redis的5种数据类型及操作数据的命令
文章图片

4.获取哈希表中字段的数量
hlen key
5.判断哈希表中是否存在指定的字段
hexists key field
6.将指定字段的数值数据增加到指定的范围
hincrby key field increment //指定数值增长指定的数
hincrbyfloat key field increment
Redis的5种数据类型及操作数据的命令
文章图片

四、操作list类型数据的常用命令
1.添加/修改数据
lpush key value1 [value2] …
rpush key value1 [value2] …
2.获取数据
lrange key start stop//获取从左数第start到第stop个数据
lindex key index//查询第i个数据
llen key//list的长度
Redis的5种数据类型及操作数据的命令
文章图片

3.获取并移除数据
lpop key //获取并删除左边第一个元素
rpop key //获取并删除右边第一个元素
4.规定时间内获取并移除数据
blpop key1 [key2] timeout
brpop key1 [key2] timeout
五、操作set数据类型的常用命令
1.添加数据
sadd key menber1 [member2]
2.获取全部数据
smembers key
3.删除数据
srem key member1 [member2]
4.获取数据总量
scard key
5.获取集合数据总量
sismember key member
Redis的5种数据类型及操作数据的命令
文章图片

六、操作zset类型数据的常用命令
1.添加数据
zadd key score1 member1 [score2 member2]
2.获取全部数据
//按照从小到大的顺序,加上WITHSCORES,就会带上scores一起显示
zrange key start stop [WITHSCORES]
// 按照从大到小的顺序
zrevrange key start stop [WITHSCORES]
3.删除数据
zrem key member [member …]
Redis的5种数据类型及操作数据的命令
文章图片

4,按条件获取
//查询scores在某个范围内的值
zrangebyscore key min max [WITHSCORES] [LIMIT]
//查询key某个索引范围内的值
zrevrangebyscore key max min [WITHSCORES]
5.条件删除
zremrangebyrank key start stop
zremrangebyscore key min max
注意:
min与max用于限定搜索查询的条件
start与stop用于限定查询范围,作用于索引,表示开始和结束索引
offset与count用于限定查询范围,作用于查询结果,表示开始位置和数据总量
获取集合数据总量
zcard key //获取总量
zcount key min max //获取某一个范围的总量
6.集合交、并存储操作
zinterstore destination numkeys key [key …] //求和
zunionstore destination numkeys key [key …]
Redis的5种数据类型及操作数据的命令
文章图片

    推荐阅读