【Redis】常用命令、各种数据结构及命令

29 篇文章 2 订阅

目录

一、常见数据结构

二、常用命令

1、查询符合的所有key

2、删除key

3、判断key是否存在 

4、给key设置过期时间

5、查看key的剩余过期时间

三、不同数据类型的操作命令

1、String

1.set

2.get

3.mset

4.mget

5.incr

6.incrby

7.incrbyfloat

8.setnx

9.setex

2、Hash

1.hset

2.hget

3.hmset

4.hmget

5.hgetall

6.hkeys

7.hvals

8.hincrby

9.hsetnx

3、List

1.lpush

2.rpush

3.lpop

4.rpop

5.lrange

6.blpop与brpop

4、Set

1.sadd

2.srem

3.scard

4.sismembers

5.smembers

6.sinter

7.sdiff

7.sunion

5、SortedSet

1.zadd

2.zrem

3.zscore

4.zrank

5.zcard

6.zcount

7.zincrby

8.zrange

9.zrangebyscore

10.zdiff、zinter、zunion


一、常见数据结构

Redis是一种k-v类型的非关系型数据库,他的key是String类型的,但他的value却有着丰富的类型

他常见的数据类型有5种:String类型、Hash类型、List类型、Set类型、SortedSet类型。

String类型就是简单的字符串类型,但是在String类型里又分为字符串类型、整数类型、浮点数类型,Hash类型则于Java里的HashMap类似其value是一个无序的字典,List类型与Java中的LinkedList类似,支持正向、反向检索,Set类似于Java里的HashSet类型,SortedSet相比Set是可以排序的与Java中TreeSet相同但是底层的实现确是不同的

二、常用命令

1、查询符合的所有key

keys 匹配规则

类似MySQL的模糊查询,要查找所有的key则为keys *

  

2、删除key

del key1 key2 ……

可一次删除多个也可一次删除一个key

  

3、判断key是否存在 

exists key

判断key是否存在如果存在则返回1不存在则是0

  

4、给key设置过期时间

expire key time

可以给key设置指定存活时间,过了存活时间就被删除

  

5、查看key的剩余过期时间

ttl key

对key设置过期时间后我们就可以使用该命令来查看指定key的剩余时间

  

三、不同数据类型的操作命令

1、String

String类型是redis里最简单的存储类型。他的value是字符串,但又根据不同的格式将字符串分为字符串、整数、浮点数三种,其中整数与浮点数支持自增与自减。下面是他的常见命令

1.set

set value 

添加一个String类型的键值对,如果该键值对已存在就对其value进行修改

 

2.get

get key

根据其key获取指定key的value

  

3.mset

mset key1 value1 key2 value2 ……

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

  

4.mget

mget key1 key2

批量获取多个key对应的value

  

5.incr

incr key

让指定key对应value自增1

  

6.incrby

incrby key num

让指定key的value自增num

  

7.incrbyfloat

incrbyfloat key num

让一个浮点型value自增num

  

8.setnx

setnx key value

添加一个String类型的键值对如果该key存在就不会创建

  

9.setex

setex key time value

创建一个String类型键值对并指定存活时长

  

2、Hash

其中他的value是一个无序字典,他的value里面的一组一组的key-value

1.hset

hset key fileld value

添加一个hash类型的键值对

  

2.hget

hget key field

获取hash类型key里的value

  

3.hmset

hmest  key  field value field1 value1 ……

批量添加多个field-value

 

4.hmget

hmget key field1 field2……

批量获取key下多个field对应的value

  

5.hgetall

hgetall key

获取key下所有的field-value

 

6.hkeys

hkeys key

获取key下的所有field

  

7.hvals

hvals key

获取key下所有的field对应的value

  

8.hincrby

hincrby key field num

让key下的field对应的value自增num

  

9.hsetnx

hsetnx key field value

添加一个key下对应的file-value如果field存在则不修改

  

3、List

该类型与Java里的LinkedList类型,它支持正向与反向检索

1.lpush

lpush key element

在list的左边添加一个element

  

2.rpush

rpush key element

在list的右边添加一个element

  

3.lpop

lpop key

移除并返回列表左边的第一个元素

  

4.rpop

rpop key

移除并返回列表右边的第一个元素

  

5.lrange

lrange key star end

返回一段角标内的所有元素

  

6.blpop与brpop

与lpop、rpop类似只不过当List里面没有元素的时候会阻塞等待直到有元素,这与阻塞队列类型

4、Set

与Java里面的hashSet类似,可以看作value为null的hash。他是无序的且不可重复查找快而且支持交集、并集、差集

1.sadd

sadd key member

向set中添加一个或多个元素

  

2.srem

srem key member

移除key里指定的元素

  

3.scard

scard key

返回key里的元素个数

  

4.sismembers

sismembers key member

判断元素是否在该set里

  

5.smembers

smembers key

获取set里面的元素

  

6.sinter

sinter key1 key2

求key1 set与key2 set的交集

7.sdiff

sdiff key1 key2

求key1 set与key2 set的差集

7.sunion

sunion key1 key2

求key1 set与key2 set的并集

5、SortedSet

可排序的结合,与Java里的TreeSet类型,SortedSet在插入时会带有一个score,会基于score进行排序

1.zadd

zadd key score member

添加一个或多个元素到SortedSet

  

2.zrem

zrem key member

删除set指定的元素

  

3.zscore

zscore key member

获取set里指定元素的score

  

4.zrank

zrank key member

获取set里指定元素的排名

 

 排名是以0开始的

5.zcard

zcard key

获取set里元素的个数

  

6.zcount

zcount key min max

统计set里score在min-max范围内的个数

  

7.zincrby

zincrby key num member

让set里指定元素自增num

  

8.zrange

zrange key min max

按score排序后获取指定排名范围内的元素

 

9.zrangebyscore

zrangebyscore key min max

按照score排序后获取指定score范围内的元素

10.zdiff、zinter、zunion

与Set相同获取两个集合的交并差集

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

1886i

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值