标题# 1.Redis基础命令
1.默认16个数据库,类似数组下标从0开始,初始默认使用0号库。使用select 命令进行切换。语法
select < dbid>
select 1
2.统一密码管理 ,所有库使用同样的密码
3.dbsize查看当前数据库的key的数量
4.flushdb 清空当前库
5.flushall 清空全部库
6.keys * 查看当前库所有key
7.exists < key>判断某个key是否存在
8.type < key> 相看key的类型
9.object encoding < key> 查看底层数据类型
10.del < key>删除指定的key数据
11.unlink < key> 根据选择非阻塞删除。仅将key从keyspace元数据中删除,真正的删除会在后续中做
异步操作
12.expire < key>< seconds>:为给定的key设置过期时间,以秒为单位
13.ttl < key>:查看给定key的过期时间:-1表示永不过期 -2 表示已过期
2.Redis五大基本数据类型
2.1.String
-
set < key>< value>:添加键值对
-
nx:当数据库中key不存在时,可以将key-value添加到数据库
-
xx: 当数据库key存在时,可以将key-value添加到数据库,与nx参数互斥
-
ex: 设置key-value添加到数据库,并设置key的超时时间(以秒钟为单位)
-
px:设置key-value添加到数据库,并设置key的超时时间(以豪秒钟为单位),与ex互斥
-
-
get < key>查询对应键值
-
append < key>< value>:将给定的值追加到key的末尾
-
strlen < key>:获取值的长度
-
setnx < key>< value>:只有在key不存在时,设置key-value加入到数据库
-
setex < key> < timeout>< value>:添加键值对,同时设置过期时间(以秒为单位)
-
incr < key>:将key中存储的数字加1处理,只能对数字值操作。如果是空,值为1
-
decr < key>:将key中存储的数字减1处理,只能对数字值操作。如果是空,值为1
-
incrby < key>< increment>:将key中存储的数字值增加指定步长的数值,如果是空,值为步长。(具有原子性)
-
decrby < key>< decrement>: 将key中存储的数字值减少指定步长的数值,如果是空,值为步长。(具有原子性)
-
mset < key1>< value1>[< key2>< value2>…]:同时设置1个或多个key-value值
-
mget < key1>[< key2>…]:同时获取1个或多个value
-
msetnx < key1>< value1>[< key2>< value2>…]:当所有给定的key都不存在时,同时设置1个或多个key-value值(具有原子性)
-
getrange/substr < key>< start>< end> 将给定key,获取从start(包含)到end(包含)的值
-
setrange < key>< offset>< value>:从偏移量offset开始,用value去覆盖key中存储的字符串值
-
getset< key>< value>: 对给定的key设置新值,同时返回旧值。如果key不存在,则添加一个key-value值
2.2.List
-
lpush < key> < value1>[< value2>…]:从左侧插入一个或多个值
-
lpushx < key> < value1>[< value2>…]:将一个或多个值插入到已存在的列表头部
-
lrange < key>< start>< stop>:获取列表指定范围内的元素,0左边第1位,-1右边第1 位,0 ~-1取出所有
-
rpush < key> < value1>[< value2>…]:从右侧插入一个或多个值
-
rpushx < key> < value1>[< value2>…]:将一个或多个值插入到已存在的列表尾部
-
lpop < key>[count]:移除并获取列表中左边第1个元素,count表明获取的总数量,返回的为移除的元素
-
rpop < key>[count]:移除并获取列表中右边第1个元素,count表明获取的总数量,返回的为移除的元素
-
rpoplpush < source>< destination>:移除源列表的尾部的元素(右边第一个),将该元素添加到目标列表的头部(左边第一个),并返回
-
lindex < key>< index>:通过索引获取列表中的元素
-
llen < key>:获取列表长度
-
linsert < key> before|after < pivot>< element>:在< pivot>基准元素前或者后面插入< element>,如果key不存在,返回0。如果 < pivot>不存在,返回-1,如果操作成功,返回执行后的列表长度
-
lrem < key>< count>< element>:根据count的值,移除列表中与参数相等的元素
- count=0 移除表中所有与参数相等的值
- count>0 从表头开始向表尾搜索,移除与参数相等的元素,数量为count
- count<0 从表尾开始向表头搜索,移除与参数相等的元素,数量为count的绝对值
-
lset < key>< index> < element>:设置给定索引位置的值
-
ltrim< key>< start> < stop>:对列表进行修剪,只保留给定区间的元素,不在指定区间的被删除
-
brpop < key> timeout:阻塞式移除指定key的元素,如果key中没有元素,就等待,直到有元素或超时,执行结束。
2.3.Hash
- hset < key>< field>< value>[< field>< value>…]:用于为哈希表中的字段赋值,如果字段在hash表中存在,则会被覆盖
- hmset:用法同hset,在redis4.0.0中被弃用
- hsetnx < key>< field>< value>:只有在字段不存在时,才设置哈希表字段中的值
- hget < key>< field> 返回哈希表中指定的字段的值
- hmget < key>< field>[< field>…]:获取哈希表中所有给定的字段值
- hgetall < key>:获取在哈希表中指定key的所有字段和值
- hexists < key>< field>:判断哈希表中指定的字段是否存在,存在返回1 ,否则返回0
- hkeys < key>:获取哈希表中所有的字段
- hvals < key>:获取哈希表中所有的值
- hlen < key>:获取哈希表中的field数量
- hdel < key>< field>[< field>…]:删除一个或多个哈希表字段
- hincrby < key>< field>< increment>:为哈希表key中指定的field字段的整数值加上增加increment
- hincrbyfloat < key>< field>< increment>:为哈希表key中指定的field字段的浮点数值加上增加increment
2.4.Set
- sadd < key>< member>[< member>…]:将一个或多个成员元素加入到集合中,如果集合中已经包含成员元素,则被忽略
- smembers < key>:返回集合中的所有成员。
- sismember < key>< member>:判断给定的成员元素是否是集合中的成员,如果是返回1,否则返回0
- scard < key>:返回集合中元素个数
- srem < key>< member>[< member>…]:移除集合中一个或多个元素
- spop < key>[< count>]:移除并返回集合中的一个或count个随机元素
- srandmember < key>[< count>]:与spop相似,返回随机元素,不做移除
- smove < source> < destination> < member>:将member元素从source源移动到destination目标
- sinter < key>[< key>…]:返回给定集合的交集(共同包含)元素sinterstore < destination> < key1>[< key2>…]:返回给定所有集合的交集,并存储到destination目标中
- sunion < key>[< key>…]:返回给定集合的并集(所有)元素
- sunionstore < destination> < key1>[< key2>…]:返回给定所有集合的并集,并存储到destination目标中
- sdiff < key>[< key>…]:返回给定集合的差集(key1中不包含key2中的元素)
- sdiffstore < destination> < key1>[< key2>…]:返回给定所有集合的差集,并存储到destination目标中
2.5.Zset
- zadd < key> < score>< member>[< score>< member>…]:将一个或多个元素及其分数加入到有序集合中
- zrange < key>< min>< max> [byscore|bylex] [rev] [ limit offset count] [withscores]:返回有序集合指定区间的成员,(byscore按分数区间,bylex按字典区间,rev 反向排序(分数大的写前边,小的写后边),limit分页(offset偏移量,count返回的总数),withscores返回时带有对应的分数)
- zrevrange < key>< start>< stop>[ limit offset count]:返回集合反转后的成员
- zrangebyscore < key>< min>< max> [withscores] [ limit offset count]:参考zrange用法
- zrevrangebyscore< key>< max>< min> [withscores] [ limit offset count]:参考zrange用法
- zrangebylex < key>< min>< max>] [ limit offset count]:通过字典区间返回有序集合的成员
- zrangebylex k2 - +:减号最小值,加号最大值
- zrangebylex k2 [aa (ac:[ 中括号表示包含给定值,( 小括号表示不包含给定值
- zcard < key>:获取集合中的成员数量
- zincrby < key> < increment>< member> :为集合中指定成员分数加上增量increment
- zrem < key> < member>[< member>…]:移除集合的一个或多个成员
- zcount < key>< min>< max>:统计集合中指定区间分数(都包含)的成员数量
- zrank < key>< member>:获取集合中成员的索引位置
- zscore < key>< member>:获取集合中成员的分数值