以下的知识是我从黑马程序员的视频中总结的知识点,在下面进行记录以顽固知识点内容!
以上图片中的五种类型是Redis中最常见的,分别也会根据不用的使用场景进行使用!
数据类型 | 数据存储值 | 数据介绍 |
string | 可以是字符串(比如json),整数,浮点数 | 可以存储一些字符串,对于整数与浮点数可以进行自增或者自减 |
hash | value值可以是一对键值类型的,以field 这个参数进行添加 | 可以存储写对象,可以单独修改其中的field值 |
List | list是有序的且可以重复,双向连表结构,存储会较快 | 由于他的有序性,一般可以使用在一些评论列表,点赞列表 |
set | set是无序列表,且不能重复 | set可以查询交集,并集,与差集,可以适用在比如一些共同好友之类的 |
sortedSet | 可根据 sorted值进行排序(默认是进行升序) | 比较使用在需要进行排序的功能 |
接下来介绍一些Redis的通用功能:
- keys 库名:查看当前库中的所有key的名称
- del key名称:删除当前key的数据
- exists key名称:判断当前key名称是否存在(存返回1,不存在返回0)
- expire key名称 时间(以秒为单位):设置当前key的过期时间
- ttl key名称 :查看当前key的剩余有效时间,-1:表示永久存在,-2表示已过期,其余正数则是代表剩余的秒数时间
- type key名称:查看当前key的类型
Sring类型的命名:
命令 | 参数 | 介绍 |
get key | key | 获取名字为key的值 |
set key value | key value | 存储名字为key的value值(key相同则会覆盖) |
mget key.... | key | 获取多个key的值 |
mset key value ...... | key value | 存储多个 key value 值(key相同则会覆盖) |
setnx key value | key value | 存储 key value (不存在设置当前key,存在则不会设置返回0) |
setex key seconds value | key seconds value | 存储值得同时设置当前值得过期时间(单位为秒) |
incr key | key | 当前key 的值自增 (+1) |
incrby key amount | key amount | 当前key 增加指定数字 (正数为增加,负数为减少) |
apeend key value | key value | 当前key 的value值添加值 |
strlen key | key | 返回字符串长度 |
getrenge key start end | key start end | 获取key的值start开头的字母到end结尾值字母 |
setrenge key start end | key start end | 设置key的值start开头的字母到end结尾值字母 |
Hash的命令:
命令 | 参数 | 介绍 |
hset key field value | key field value | 添加或者修改hash类型的key的field值 |
hget key field | key field | 获取当前key 的filed值 |
hmset key field value(field value....) | key field value(field value....) | 添加多个或者修改多个hash类型的key的field值 |
hmget key field(field...) | key field | 获取当前key 的filed的多个值 |
hgetall key | key | 获取当前key的所有filed与value值 |
hkeys key | key | 获取当前key的所有filed值 |
hvals key | key | 获取当前key的所有的filed对应的值 |
hincrby key filed amount | key filed | 让当前key中的filed对应的值增加amount(负数为减少) |
hsetnx key field value | key field value | 添加或者修改hash类型的key的field值(存则不会增加) |
hexists key field | key field | 判断当前key是否存在field |
lsit的命令
命令 | 参数 | 介绍 |
rpush key value | key value | 从连表的右边添加值 |
lpush key value | key value | 从连表的左边添加值 |
rpopu key | key | 从连表的右边取出(删除)一个值,并返回该值 |
lpopu key | ley | 从连表的左边取出(删除)一个值,并返回该值 |
lringe key 0-1 | key 0-1 | 获取key 中连表索引在0-1范围的值 |
lindex key index | key index | 获取key 中索引的值,-1为最后一个字,-2位倒数第二,以此类推 |
lrem key count value | key count value | 删除count个元素值为value的元素 |
lset key index value | key index value | 修改索引为index的元素的value |
set的命令
命令 | 参数 | 介绍 |
sadd key member | key member | 添加一个或者多个值 |
srem key member | key member | 删除set中指定的元素 |
scard key | key | 返回set中元素的个数 |
sismember key member | key member | 判断一个元素是否存在set中 |
smembers key | key | 获取ser集合总所有的元素 |
sinter key key | key key | 求key1与key2的交集 |
sdiff key key | key key | 求key1与key2的差集 |
sunion key key | key key | 求key1与key2的并集 |
sortedSet的命令:
命令 | 参数 | 介绍 |
zadd key score member | key score member | 添加一个或者多个元素到sortedset,如果元素存在则更新(按score进行升序排序) |
zrem key member | key member | 删除指定元素 |
zscore key member | key member | 获取指定元素的score的值 |
zrank key member | key member | 获取指定元素的排名 |
zcaed key | key | 获取元素个数 |
zcount key min max | key min max | 统计score值在指定范围中的元素个数 |
zincrby key increment member | key increment member | 元素增加 increment的值 |
zrange key min max | key min max | 获得排序后,根据排名大小指定范围元素的值 |
zrangebyscore key min max | key min max | 排序后,根据score大小获取范围元素的值 |
zdiff,zinter,zunion | key key | 差集,交集,并集 |
排序默认为(升序)如果想要倒序,只要在z的后面添加上rev即可 |
以上就是Redis中常见的五种类型的基本命令了