redis 常用命令

redis常用命令

1.set 命令
set key value [EX seconds | PX milliseconds] [NX|XX]
EX和PX表示过期时间,EX表示秒,PX表示毫秒
NX 表示不存在就set ,XX 存在就set
在这里插入图片描述
2.mset
mset key1 value key2 value …
一次set 多个键值对
redis 常用命令_第1张图片3.get 和 mget
get key 根据键获取值
mget key1 key2 根据多个键获取,返回一个列表
在这里插入图片描述
4.incr 递增整数 和 desr 递减整数
都只能操作整数类型,如果key 存在,会先赋值为0 在进行递增或递减,返回操作之后的值,操作不会更新过期时间,常和expire用来做计数器和访问次数限制。
redis 常用命令_第2张图片
5.keys
根据表达式查询key的集合,
| ? | 匹配一个字符|

  • 匹配任意个(包括0个)字符
    [] 匹配括号间的任一个字符,可以使用 “-” 符号表示一个范围,如 a[b-d] 可以匹配 “ab”,“ac”,“ad”
    \x 匹配字符x,用于转义符号,如果要匹配 “?” 就需要使用 ?
特殊匹配符 含义
* 匹配任意个(包括0个)字符
匹配1字符
[] 匹配括号间的任一个字符类似与正则表达式那种[a-b],[abc]
\x 匹配字符x,用于转义符号,如果要匹配 “?” 就需要使用 ?

6.exists key1 key2
查询一个或多个key是否存在,返回存在的数量
redis 常用命令_第3张图片
7.expire 和 pexpire 设置key的过期时间
expire key 秒数
pexpire key 毫秒数

del,set getset 还有所有的存储的命令会重置过期时间,redis默认key不会过期,pesist会清楚过期时间,其余的incr hset 都不会影响过期时间

8.ttl 和 pttl 查看key的剩余的过期时间
ttl key 返回秒数
pttl key 返回毫秒数

9.del key1 key2
del 删除多个key 不管其存在与否 返回成功删除的个数

list元素相关操作

1. lpush key v1 v2 v3 … 和 rpush key v1 v2 v3
往列表添加元素
lpush 是往队头添加,
rpush 是往队尾添加
redis 常用命令_第4张图片
2.lrange key startIndex endIndex
根据索引范围查询列表元素
索引下标可以是负数 -1 表示右边第一个元素,-2 表示倒数第二个
redis 常用命令_第5张图片
3.rpop key 和 lpop key
从左或从右弹出列表元素
在这里插入图片描述4.ltrim key start stop
移除将移除不再索引范围内的列表元素,如果start的索引大于stop会删除所有的元素
redis 常用命令_第6张图片
5.blpop key1 key2 … timeout 和 brpop key1 key2 … timeout
阻塞的弹出操作,适用于生产者消费者模式

6. llen key 获取列表元素个数

7. lindex key offset
根据key和偏移位置获取 指定的元素
在这里插入图片描述
8. lrem key count value
lrem 命令会删除列表中前 count 个值为 value 的元素,返回值是实际删除的元素个数。根据count 值的不同,lrem 命令执行的方式会
当 count > 0 时,lrem 命令会从列表左边开始删除前 count 个值为 value 的元素。
当 count < 0 时,lrem 命令会从列表右边开始删除前count 个值为 value 的元素。
当 count = 0 时,lrem 命令会删除所有值为value的元素。

9. lset key value
根据索引设置下标对应的值。

hash 对应命令

1. hset 和 hmset
hset key field value 和 hmset key field1 value1 field2 value2
设置hash类型的值,
redis 常用命令_第7张图片
2.hget 和 hmget
获取hash类型元素
redis 常用命令_第8张图片
3. hgetall
根据key获取所有键值对
redis 常用命令_第9张图片

set 对应的命令

sadd key member1 member2
向集合中添加一个或多个元素
srem key member1 member2
从集合中删除一个或多个元素
smemers key
返回集合中所有元素
sismember key member
判断一个元素是否在集合中
redis 常用命令_第10张图片
sdiff key1 key2 …
集合之间取差集
sinter key1 key2…
集合之间取交集
sunion key1 key2…
集合之间取并集
redis 常用命令_第11张图片

zset 有序集合

zadd key score member1 score member2…
向有序集合一个或多个元素
zranger key start stop
按照大小返回指定范围内的元素
zrangebyscore key min max
按照分数返回元素和
zrevrangebyscore key max min
zrevrangebyscore不仅是按照元素分数从大往小的顺序给出结果,而且他的 min 和max 的参数的顺序和 zrangebyscore 命令是相反的
redis 常用命令_第12张图片

bitmap

redis 提供位图操作,bitmap 是一串二进制数字的字符串,最大长度为512MB,可以表示2 ^ 32=4294967296个不同的位。位图很适合某些场景的做统计,比如一个月内某个用户有那几天登陆的需求,或者统计某个网站,一天有多少用户登录,在大的数据量时很节省内存。
setbit key offset value
设置key 的偏移为0 或1
getbit key offset
获取某个偏移为的二进制位
bitcount key start end

bitop operation destkey key1 key2 …
BITOP AND destkey srckey1 srckey2 srckey3 … srckeyN 与
BITOP OR destkey srckey1 srckey2 srckey3 … srckeyN 或
BITOP XOR destkey srckey1 srckey2 srckey3 … srckeyN 异或
BITOP NOT destkey srckey 非
操作的值会存储在 destkey
在这里插入图片描述
redis 常用命令_第13张图片
位图的存贮是从左至右的,例如c 是 1100 表示第一位和第二位都是1

事物

redis的事物是将一次运行一组redis命令,redis的事物没有回滚功能,开发者必须自己收拾事物出错的烂摊子。
语法错误:语法错误指命令名或者命令参数个数不对等。这种情况下,事务中只要有一个命令有语法错误,执行exec命令后redis就会直接返回错误,redis 2.6.5 之前的版本会忽略有语法错误的命令,然后执行事务中其他语法正确的命令。
运行错误:运行错误指在命令执行时出现的错误,比如使用散列类型的命令操作集合类型的键,这种错误在实际执行之前redis是无 法发现的,所以在事务里这样的命令是会被redis接受并执行的,如果事务里的一条命令出现运行错误,事务里其他的命令依然会继续执行(包含出错命令之后的命令)
multi 开启一个事物,后续命令会自动入队
exec 执行所有前面入队的命令
discard 清楚前面事物中的所有命令,并充指连接状态
watch 观测被给的key时候被更改
unwatch 取消观测

你可能感兴趣的:(redis)