redis常用命令

目录

前言:

1. set 与 get

2. keys(查询 key)

3. exists(判定 key 是否存在)

4. del(删除指定的 key)

5. expire(设置 key 过期时间)

 6.  ttl(获取 key 的过期时间)


前言:

redis 支持很多数据结构,也就是一个 value 可以是一些复杂的数据结构。redis 的这些键值对,是通过 哈希表 的方式来组织。但是它的某个值(value),又可以是一些数据结构。

redis 是客户端-服务器的结构,是通过网络来进行传输数据的。所以 redis 很多命令都是支持一次能操作多个 key / 操作。

redis 的,是相对于 Mysql 等。


1. set 与 get

set:通过 key 来存储value

get:通过 key 来获得value

set key value

get key


2. keys(查询 key)

keys : 通过特殊符号(通配符)来返回满足样式的 key,时间复杂度:O(n)。

keys pattern;

 redis常用命令_第1张图片


3. exists(判定 key 是否存在)

返回 key 存在的个数(可以针对多个key),时间复杂度O(1)/O(N)(N为检查key的个数)。

exists key [key ...]


4. del(删除指定的 key)

返回删除 key 的个数(可以针对多个key),时间复杂度O(1)/O(N)(N为检查key的个数)。

del key [key ...]

 这个删除操作是否非常危险?

1. redis 作为缓存。此时 redis 里存的只是一个热点数据,全量数据是在 mysql 数据库中。此时,如果把 redis 中的 key 删除了几个,一般来说,问题不大~~。但是,当然如果把所有的数据或者一大半数据一下都干没,这种影响会很大(本来 redis 是帮 mysql 负重前行,redis 没数据了,大部分的请求就直接打给mysql 然后就容易把 mysgl 搞挂)

2.  redis 作为数据库,误删数据影响很大。

3.  redis 作为消息队列(mq),需要具体情况具体分析。

4.  别犯这个错误就不危险!!!


5. expire(设置 key 过期时间)

key 存在时间超过指定的值,就会被自动删除。返回 1 表示设置成功,0 表示设置失败。

expire key seconds(秒)

pexpire key ms(毫秒)


 6.  ttl(获取 key 的过期时间)

返回剩余过期时间,-1 表示没有关联过期时间,-2 表示 key 不存在。

ttl key

你可能感兴趣的:(redis,redis,数据库,缓存)