【Redis】常用命令、各种数据结构及命令
目录
一、常见数据结构
二、常用命令
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相同获取两个集合的交并差集
还没有评论,来说两句吧...