美文网首页
Redis 高频常用命令

Redis 高频常用命令

作者: 左诗右码 | 来源:发表于2023-12-08 00:51 被阅读0次

Redis 的数据类型

redis-cli 命令

命令 说明 cli 命令示例
del 删除 key del key_name
exists 检查给定 key 是否存在 exists key_name
keys 查找所有符合给定模式 pattern 的 key keys pattern
type 返回 key 所存储的值的类型 type key_name
expire 设置 key 的过期时间 expire key_name time_in_seconds
ttl 返回 key 的剩余过期时间 ttl key_name
save RDB 持久化 save
info Redis 服务器的各种信息和统计数值 inro [section]
shutdown 保存并停止所有客户端 shutdown [nosave] [save]
flushall 清空整个 redis 服务器的数据 flushall
flushdb 清空当前库中所有的 key flushdb
select 切换到指定的数据库 select db_number

Redis 字段类型

  • 字符串 String
  • 散列/哈希 Hash
  • 列表 List
  • 无序集合 Set
  • 可排序集合 Zset

字符串 String

最大容量为 512M

命令 说明 Cli 命令示例 PHP 写法
set 赋值 set key value $redis->set('key', 'value');
setex 赋值并添加过期时间 setex key expire value $redis->setex('key', 'expire', 'value');
get 取值 get key $redis->get('key');
incr 递增数字 incr key $redis->incr('int_key');
incrby 增加指定的数字 incrby key increment $redis->incrBy('int_key', number);
decr 递减数字 decr key $redis->decr('key1');
decrby 减少指定的数字 decrby key decrement $redis->decrBy('key1', number);
incrbyfloat 增加指定浮点数 incrbyfloat key increment $redis->incrByFloat('key1', 1.5);
append 向尾部追加值 append key value $redis->append('key', 'value2');
strlen 获取字符串长度 strlen key $redis->strlen('key');
mset 同时设置多个 key 的值 mset key1 value1 [key2 value2 ...] $redis->mSet(array('key0' => 'value0', 'key1' => 'value1'));
mget 同时获取多个 key 的值 mget key1 [key2 ...] $redis->mGet(array('key1', 'key2', 'key3'));

散列/哈希 Hash

1、与 php 的 array 相似;2、可以保存多个 key-value 对,每个 k-v 都是字符串类型;3、最多 2^32-1 个字段。

命令 说明 Cli 命令示例 PHP 写法
hset 赋值 hset key field value $redis->hSet(key, field, value);
hmset 赋值多个字段 hmset key field1 value1 [field2 values] $redis->hMset(key, array('field1' => 'value1', 'field2' => 'value2'));
hget 取值 hset key field $redis->hGet(key, field);
hmget 取多个字段的值 hmset key field1 [field2] $redis->hmGet(key, array('field1', 'field2'));
hgetall 取所有字段的值 hgetall key $redis->hGetAll(key);
hlen 获取字段的数量 hlen key $redis->hLen(key);
hexists 判断字段是否存在 hexists key field $redis->hExists(key, field);
hsetnx 当字段不存在时赋值 hsetnx key field value $redis->hSetNx(key, field, value);
hincrby 增加数字 hincrby key field increment $redis->hIncrBy(key, field, num);
hdel 删除字段 hdel key field $redis->hDel(key, field);
hkeys 获取所有字段名 hkeys key $redis->hKeys(key);
hvals 获取所有字段值 hvals key $redis->hVals(key);

列表 List

1、实现方式为双向链表;2、用于存储一个有序的字符串列表;3、从队列两端添加和弹出元素;4、特别适合于做消息队列。

命令 说明 Cli 命令示例 PHP 写法
lpush 向列表左端添加元素 lpush key value $redis->lPush(key, value);
rpush 向列表右端添加元素 rpush key value $redis->rPush(key, value);
lpop 从列表左端弹出元素 lpop key $redis->lPop(key);
rpop 从列表右端弹出元素 rpop key $redis->rPop(key);
llen 获取列表中元素个数 llen key $redis->lSize(key);
lrange 获取列表中某一片段的元素 lrange key start stop $redis->lRange(key, start, end);
lrem 删除列表中指定的值 lrem key count value $redis->lRem(key, value, count);
lindex 获取指定索引的元素值 lindex key index $redis->lGet(key, index);
lset 设置指定索引的元素值 lset key index value $redis->lSet(key, index, value);
ltrim 值保留列表指定片段 ltrim key start stop $redis->lTrim(key, start, end);
linsert 向列表中插入元素 linsert key before/after existing_value value $redis->lInsert(key, Redis::BEFORE, existing_value, value);

无序集合 Set

1、集合中每个元素都是不同的;2、元素最多为 2^32-1;3、元素没有顺序

命令 说明 Cli 命令示例 PHP 写法
sadd 添加元素 sadd key value1 [value2 value3 ...] $redis->sAdd('key1', 'set1');
srem 删除元素 srem key value2 [value2 value3 ...] $redis->sRem('key', 'set2');
smembers 获得集合中所有元素 smembers key $redis->sMembers('key');
sismember 判断元素是否在集合中 sismember key value $redis->slsMember(key, value);
sdiff 对集合做差集运算 sdiff key1 key2 [key3 ...] $redis->sDiff(key1, key2, key3);
sinter 对集合做交集运算 sinter key1 key2 [key3 ...] $redis->sInter('key1', 'key2', 'key3');
sunion 对集合做并集运算 sunion key1 key2 [key3 ...] $redis->sUnion('key1', 'key2', 'key3');
scard 获得集合中元素的个数 scard key $redis->sCard('key1');
sdiffstore 对集合做差集运算并将结果存储 sdiffstore destination key1 key2 [key3 ...] $redis->sDiffStore('output', key1, key2, key3);
sinterstore 对集合做交集运算并将结果存储 sinterstore destination key1 key2 [key3 ...] $redis->sInterStore('output', 'key1', 'key2', 'key3');
sunionstore 对集合做并集运算并将结果存储 sunionstore destination key1 key2 [key3 ...] $redis->sUnionStore('output', 'key1', 'key2', 'key3');
srandmember 随机获取集合中的元素 srandmember key [count] $redis->sRandMember('key1', 2);
spop 随机弹出一个元素 spop key $redis->sPop('key1');

可排序集合 Zset

1、集合是有序的;2、支持插入,删除,判断元素是否存在;3、可以获取分数最高/最低的前 N 个元素。

命令 说明 Cli 命令示例 PHP 写法
zadd 添加元素 zadd key score1 value1 [score2 value2 score3 value3 ...] $redis->zAdd('key', 1, 'val1');
zscore 获取元素的分数 zscore key value $redis->zScore(key, val2);
zrange 获取正序排名在某索引区间范围的元素 zrange key start stop [withscore] $redis->zRange('key1', 0, -1);
zrevrange 获取倒序排名在某索引区间范围的元素 zrevrange key start stop [withscore] $redis->zRevRange('key1', 0, -1);
zrangebyscore 获取指定分数范围内的元素 zrangebyscore key min max $redis->zRangeByScore(key, start, end, array(withscores, limit));
zincrby 增加某个元素的分数 zcard key $redis->zSize('key');
zcount 获取指定分数范围内的元素个数 zcount key min max $redis->zCount(key, start, end);
zrem 删除一个或多个元素 zrem key value1 [value2 ...] $redis->zDelete('key', 'val2');
zremrangebyrank 按照排名索引区间范围删除元素 zremrangebyrank key start stop $redis->zRemRangeByRank('key', 0, 1);
zremrangebyscore 按照分数范围删除元素 zremrangebyscore key min max $redis->zRemRangeByScore('key', 0, 3);
zrank 获取正序排序的元素的排名 zrank key value $redis->zRank(key, value);
zrevrank 获取逆序排序的元素的排名 zrevrank key value $redis->zRevRank(key, value);

相关文章

  • docker安装mongodb和redis数据库

    mongodb安装 mongodb常用命令 redis安装 redis常用命令

  • redis汇总

    redis优化 redis 操作相关 安装Redis redis常用命令

  • Redis-数据结构&常用指令

    零、本文纲要 一、Redis数据结构二、Redis常用命令三、String类型&常用命令四、Hash类型&常用命令...

  • Redis 命令

    redis常用命令

  • Redis入门

    redis杂项知识 key的常用命令 List常用命令

  • Docker-redis安装设置

    常用命令 参数说明 /data存储redis数据 查看redis版本号 redis参数匹配 Redis默认不是以守...

  • redis

    redis 1.redis几种数据结构,常用命令,事务 2.redis安装 3.redis和springboot集...

  • Redis 常用命令

    本文介绍 Redis 的常用命令。 目录 启动 Redis 查询 Redis 是否启动成功 查看主机的6379端口...

  • Redis基本命令(数据类型)

    Redis命令大全 Redis命令大全 Key常用命令 keys * exists key(是否存在) move ...

  • centos7.3 安装redis

    安装redis 一路默认为y即可 常用命令 启动 systemctl start redis...

网友评论

      本文标题:Redis 高频常用命令

      本文链接:https://www.haomeiwen.com/subject/pnsegdtx.html