Redis缓存指令一网打尽(redis缓存命令大全)

2023-05-13 09:04:57 命令 缓存 指令

Redis缓存指令一网打尽

Redis是一个开源的高性能key-value存储系统,一般被用作缓存和消息队列等场景。而Redis的缓存模式则是其最为流行的应用之一。缓存可以将热点数据存储在内存中,避免频繁访问数据库的IO瓶颈,从而提高系统的性能。本文将介绍Redis中常用的缓存指令,帮助读者更好的使用Redis进行缓存管理。

### SET

SET命令用于设置指定key的值。如果key已经存在,则覆盖原来的值。Syntax如下:

SET key value [EX seconds] [PX milliseconds] [NX|XX]

其中,key是缓存的键名;value是缓存的值;EX和PX设置过期时间(秒和毫秒);NX和XX是两个可选项,表示设置key只有在key不存在时才生效或者只有在key已经存在时才生效。

### GET

GET命令用于获取指定key的值。Syntax如下:

GET key

其中,key是要获取值的键名。

### MSET

MSET命令用于同时设置多个key的值。Syntax如下:

MSET key1 value1 [key2 value2 ...]

其中,key和value是成对出现的,可以同时设置多对key、value。

### MGET

MGET命令用于同时获取多个key的值。Syntax如下:

MGET key1 [key2 ...]

其中,key可以同时获取多个值。返回结果为每个key对应的value的列表。

### DEL

DEL命令用于删除指定的key。Syntax如下:

DEL key1 [key2 ...]

其中,key可以删除多个。

### KEYS

KEYS命令用于查找所有符合给定模式的key。Syntax如下:

KEYS pattern

其中,pattern是符合UNIX glob-style的模式,结果为所有符合模式的key的列表。

### EXISTS

EXISTS命令用于判断指定key是否存在。Syntax如下:

EXISTS key

其中,返回值为1表示key存在,0表示key不存在。

### TTL

TTL命令用于获取指定key的过期时间。Syntax如下:

TTL key

其中,返回值表示还有多少秒过期,-1表示不过期,-2表示key不存在。

### EXPIRE

EXPIRE命令用于设置key的过期时间。Syntax如下:

EXPIRE key seconds

其中,key是要设置过期时间的键名;seconds为过期时间(秒)。

### INCR

INCR命令用于将key的值加1。如果key不存在,则设置key的值为1。Syntax如下:

INCR key

其中,返回值为增加后的值。

### DECR

DECR命令用于将key的值减1。如果key不存在,则设置key的值为-1。Syntax如下:

DECR key

其中,返回值为减少后的值。

### APPEND

APPEND命令用于在指定key的值后面追加一个字符串。Syntax如下:

APPEND key value

其中,value为要追加的字符串。

### MSETNX

MSETNX命令用于同时设置多个key的值,仅当所有key都不存在时才执行成功。Syntax如下:

MSETNX key1 value1 [key2 value2 ...]

其中,key和value是成对出现的,可以同时设置多对key、value。

### SETEX

SETEX命令用于同时设置key的值和过期时间。Syntax如下:

SETEX key seconds value

其中,key是要设置的键名;seconds为过期时间(秒);value为要设置的值。

### GETSET

GETSET命令用于获取指定key的值,并将key的值设置为新值。Syntax如下:

GETSET key value

其中,value为新的值,函数返回值为原来的值。

### 示例

//连接Redis服务
$redis=new Redis();
$redis->connect('127.0.0.1',6379);

//设置缓存值
$redis->set('name','redis');
//获取缓存值
echo $redis->get('name');

//同时设置多个缓存值
$redis->mset(['key1'=>'value1','key2'=>'value2']);
//同时获取多个缓存值
var_dump($redis->mget(['key1','key2']));

//判断key是否存在
if($redis->exists('name')){
echo 'name存在';
}else{
echo 'name不存在';
}

//设置过期时间
$redis->expire('name',5);//5秒后过期
//查看剩余过期时间
echo $redis->ttl('name');

//计数器
$redis->incr('counter');//计数加1
$redis->incrby('counter',5);//计数加5

//删除,模糊匹配
$redis->del('key1');
$redis->del($redis->keys('*')); //删除所有key

//关闭连接
$redis->close();

本文介绍了Redis中常用的缓存指令,读者可以通过实际应用来加深理解。建议使用Redis进行缓存管理是为了提高系统性能和缩短响应时间。如果你对Redis缓存的使用还有其他问题,可以参考Redis官方文档进行更深入的学习。

相关文章