Redis的五大数据类型及常用命令

database

一、与数据库相关的命令

Redis启动后默认16个数据库,类似数组下表从零开始,初始默认使用零号库

  1. 切换数据库命令 select 数据库下标

  2. 查看当前数据库的key的数量 Dbsize

  3. 清空当前库 flushdb

  4. 清空所有库 flushall

二、与键相关的常用命令

  1. 查看所有的键 keys *

  2. 判断是否存在某个键 exists key

    如果存在返回1,否则返回0

  3. 从当前库移动某个键到目标库 move key db

  4. 设置键的过期时间 expire key 秒钟

  5. 查看还有多少秒过期 ttl key (-1表示永不过期,-2表示已过期)

  6. 查看key的类型 type key

三、5大数据类型

String(字符串)

String是redis最基本的类型,一个key对应一个value。它是二进制安全的,也就是说它可以包含任何数据,比如序列化的对象或图片等。一个字符串value最大可以是512m。

命令

说明

示例

set key value

设置指定key的值

get key

获取指定key的值

del key

删除一个key

append key value

给一个key拼接一个字符串

strlen key

获取键的值得长度

incr/decr/incrby/decrby/

对键的值进行加减操作,键值必须是数字

getrange

获取指定区间范围内的值,从0到-1代表获取全部

setrange

设置指定区间范围内的值

setex key 秒 值

设置带过期时间的键

setnx

只有键不存在时才设置键的值

mset

同时设置一个或多个键值对

mget

同时获取多个键的值

msetnx

同时设置一个或多个键值对,仅当所有给定的键都不存在时才能生效

getset

将给定 key 的值设为 value ,并返回 key 的旧值

List(列表)

列表是简单的字符串列表,按照插入顺序排序。可以添加一个元素到列表的头部或者尾部。其底层结构是一个链表。

命令

说明

示例

lpush key value1 value2...

将一个或多个值插入到列表头部

rpush key value1 value2...

将一个或多个值插入到列表尾部

lrange start end

获取指定范围内的元素,start为0,end为-1时表示获取全部

lpop key

从列表头部移除一个元素并返回

rpop key

从列表尾部移除一个元素并返回

lindex key index

通过索引获取列表中的元素

llen key

获取列表的长度

lrem key count value

从左到右删除count个值等于value的元素,返回的值为实际删除的数量,当count=0时,表示删除全部值

ltrim key start end

截取指定索引区间的元素

rpoplpush key1 key2

从key1列表尾部移除一个元素插入key2列表的头部

lset key index value

修改某个下标对应的值

linsert key before/after 值1 值2

在列表某个已有值的前后再添加具体值

Hash(哈希)

哈希是一个键值对的集合,由一个string类型的key和value构成的映射表,它很适合用来存储对象。

命令

说明

示例

hset key field value

将哈希表key中的字段field的值设置为value

hget key field

获取哈希表中指定字段的值

hmset key field1 value1 field2 value2 ...

同时将多个key-value设置到哈希表中

hmget key field1 field2

获取所有给定字段的值

hgetall key

获取哈希表中的所以字段和值

hdel key1 key2

删除一个或多个哈希表中的字段

hlen key

获取哈希表中字段的数量

hexists key field

查看哈希表中指定的字段是否存在

hkeys key

查看哈希表中所有的键

hvals key

查看哈希表中所有的值

hincrby key field incrment

为哈希表 key 中的域 field 的值加上增量 increment

hincrbyfloat

为哈希表中的字段值加上指定浮点数增量值

hsetnx key field value

当哈希表中指定的键不存在时赋值

Set(集合)

集合是string类型的无序集合,底层由hashtable实现。

命令

说明

示例

sadd key value1 value2 ...

添加一个或多个成员到集合中

smembers key

返回集合中的所有成员

sismember key value

判断元素是否是集合中的成员

scard key

获取集合中的成员数

srem key value1 value2...

从集合中移除一个或多个成员

srandmember key n

返回集合中一个或多个随机数

spop key n

移除并返回集合中的一个或多个元素

smove source destination value

从集合source将元素value移动到集合destination

sdiff key1 key2

求两个集合的差集

sinter key1 key2

求两个集合的交集

sunion key1 key2

求两个集合的并集

Zset(有序集合)

zset和set一样也是集合,不同的是zset的每个元素都会关联一个double类型的分数。通过该分数,redis可以对zset中的元素进行排序。zset的成员唯一,但是分数score可以重复。

命令

说明

示例

zadd key score1 value1 score2 value2

向有序集合添加一个或多个成员,或者更新已存在成员的分数

zrange key start stop withscores(可选)

通过索引区间返回指定区间内的成员

zrangebysocre key score_start score_end withcores(可选) limit(可选)

通过分数返回有序集合指定区间内的成员

zrem key value1 value2 ...

移除集合内一个或多个成员

zcard key

获取有序集合的成员数

zcount key score_start score_end

计算在有序集合指定分数区间的成员数

zrank key value

返回有序集合中指定成员的索引

zrevrank key value

返回有序集合中指定成员的排名,有序集合成员按分数值递减(从大到小)排序

zrevrange key start stop withscores(可选)

返回有序集合中指定区间内的成员,通过索引, 从高到低

zrevrangebyscore key score_end score_start

返回有序集合中指定分数区间内的成员,分数从高到低排序

以上是 Redis的五大数据类型及常用命令 的全部内容, 来源链接: utcz.com/z/531320.html

回到顶部