1.通用操作
keys *
解释:获取所有的Key
* : 统配任意字符
?: 统配单个字符
[]匹配括号间的任一个字符,可以使用 "-" 符号表示一个范围,如 a[b- d] 可以匹配 "ab","ac","ad"
\x 匹配字符x,用于转义符号,如果要匹配 "?" 就需要使用 \?
示例:
keys h* 查询key通配符
keys halouworl[da] 查询已d或者a为结尾的字符
randomkey
随机返回数据库存在的key
type key
判断key的类型
exists key
是否存在某个key,存在返回1,不存在返回0
del key1 key2 key3 .... keyn
删除一个或多个键值对
rename key newkey
将替换key的名字,会覆盖已存在的newkey,设置成功,返回ok
renamenx key newkey
替换key的名字,会检查是否已经存在newkey,设置成功返回1,不成功返回i0
select 数据库编号
切换或者选择数据库编号,例如: select 1 ,使用1好数据
move key 数据库编号
移动当前数据库中的key到别的数据库中去
ttl key 或者 pttl key
查询某个key的生命周期,返回-1代表永久有效 ,ttl已秒返回,pttl 以毫秒返回
expire key 或者 pexpire key
设置key的生命周期,expire以秒返回i,pexpire 以毫秒返回
persist key
把key指定为永久有效
2.redis 字符串命令操作
set key value [ex 秒数] [px 毫秒数] [nx]/[xx]
设置字符串键值对
ex和px不要同时写,否则会以后一个为准
nx 表示key不存在时,执行操作
xx 表示key存在时执行操作
mset key1 value1 key2 value2 ...
一次设置多个键值对
mget key1 key2 key3
一次性取出多个key
setrange key offset 字符
替换单词中的某个字母
例如: setrange key 2 ?? 从下标2开始,替换字符
注意:如果偏移量大于字符长度,则用0x00字符补充
append key value
追加
示例:
append word ha
getrange key start stop
获取字符串中某个范围内的数值,闭区间
注意字符串从左数,下标从0开始,右数下标重-1开始。前包后包
注意:
1. start >= length,则返回空字符串
2. stop >= length 则截取至字符串结尾
3. 如果start所处位置在stop右边,则返回空字符串
getset key newvalue
设置新值,返回旧值
例如:getset halou halouworld
incr key
增加1,并返回计算后的数值
decr key
减少1,并返回计算后的数值
incrby keyvalue
增加value 个值,并返回计算后的数值
decrby key value
降低value个值,并返回计算后的数值
incrbyfloat key floatnumber
增加浮点数,并返回计算后的数值
3.link 链表结构
链表的特点是元素之间有顺序
lpush key value
从链表的左侧插入元素
示例: lpush character a
rpush key value
从链表的右侧插入元素
示例:rpush ke value
lrange start stop
去链表的一段拿出来瞅瞅
lrange 0 -1 是去除所有 (链表从右向左从-1开始编号)
lpop key
从左边弹出
rpop key
从右边弹出
lrem key count value
链表删除
删除链表中值为value的元素,删除count个。
例子:
lrem halouworld 2 b
lrem halouworld -2 b 从右边删除
ltrim key from to
截取链表,最后key链表只剩下了下标从from到to的这一段了
示例:
ltrim key 0 2
ltrim key 0 -2
lindex key index(元素下标)
取链表中的1个元素
llen key
计算链表元素的个数
linsert key after|before search value
在key存储中寻找search的值,并在search的前|后插入value
rpoplpush source task
从source尾部弹出,插入到task头部
brpop或者blpop key timeout
弹出值,如果没有值,会等待timeout
4.set 集合结构操作
set 的特性主要是去重且无序
sadd key vlaue1 value2 ...
集合的特性,唯一性,无序性,确定性
smembers key
查询集合
srem key value1 value2
删除某个key下的几个元素
spop key
随机弹出一个元素,并且在集合中删除
srandmember key
随机得到一个值,但是不会在集合中删除
sismember key value
查看某个元素是不是集合里的
scard key
查找集合元素总数
smove source dist value
把source中的某个value移动到dist集合中
sinter key1 key2 key3 ...
求几个集合的交集
sunion key1 key2 key3 ...
求集合的并集
sdiff key1 key2
求集合的差集
sinterstore key1 key2 key3...
把后面集合里的j交集存储到key1里
5.order set 有序集合
为集合中的每个元素加个score,即排序依据
zadd score1 value1 score2 value2 ...i
添加元素
zrange key start stop [withscore] limit offset
默认按升序,排序后取出start到stop的元素 start和with是元素下班,当加上withscore时,
表示连带score也取出
zrangebyscore key value min max [withscore] limit offset count
通过排序因子(score)来取出数组,limit 跳过offeset个,一共查询count 。 包含 withscore,后面的参数都是可选参数
zrank key member
通过给定元素查找这个元素的排名(排名从0开始)
zrem key value1 value2。。。。
删除给定元素
zremrangebyscore key mix max
通过score删除元素,(删除某一个范围)
zremrangebyrank key start end
通过排名删除元素
zcard key
查看有序集合中有几个人
zcount key min max
统计分数在某个区间内的集合元素数量
6.hash 哈希结构
hset key field value
在key中设置 field(域)得值为 value(值)
hgetall key
返回key中所有的域和值
hmset key field1 value1 [field2 value2.... ]
一次性设置多个值
hmget key field1 field2 field3...
一次性获取多个值
hdel key field1
删除key中field1的值
hlen key
返回key中元素的数量
hexists key field
查看某个key下的某个域是否存在,返回值 1表示存在,0表示不存在
hget key field
查看某个key下的某个field的值
hincrby key field value
设置field的值为加1
hincrbyfloat key field value
设置field的值为float增长1
hkeys key
查看key中所有的field
hvals key
返回key中所有的value
领取专属 10元无门槛券
私享最新 技术干货